20162317 2017-2018-1 《程式設計與資料結構》第8周學習總結

FunnyOne發表於2017-10-28

20162317 2017-2018-1 《程式設計與資料結構》第8周學習總結

教材學習內容總結

  • 1、二叉查詢樹的定義、性質
  • 2、向二叉查詢樹中新增元素的方法
  • 3、在二叉查詢樹中刪除元素的方法
  • 4、旋轉的定義、方法、意義

    教材學習中的問題和解決過程

  • 問題1:我在17章中看到這麼一句話:“最高效的二叉查詢樹是平衡的”,我的問題是:什麼叫平衡,是兩邊數的分佈得當還是兩邊的結點分佈得當?
  • 問題1解決方案:我通過上網查詢資料後得到平衡二叉樹的概念:平衡二叉樹(Self-balancing binary search tree)又被稱為AVL樹(有別於AVL演算法),且具有以下性質:它是一 棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹(資料來源——平衡二叉樹_百度百科

程式碼除錯中的問題和解決過程

  • 問題1:在敲二叉查詢樹的主程式碼時看到這麼一小段程式碼:
 ((BSTNode)root).add(item);

我的問題在於:為什麼要強制轉換

  • 問題1解決方案:經過我的理解和同同學的討論,我有以下結論:這裡的root是從繼承中super過來的,在構造方法被呼叫之前,root是BTNode型別的,而BTNode型別中沒有add方法,因此要強制轉換。其他的強制轉換的原因也在於此。

程式碼託管

20162317 2017-2018-1 《程式設計與資料結構》第8周學習總結

上週考試錯題總結

  • 錯題1及原因,理解情況
  • 錯題2及原因,理解情況
  • ...

學習進度條

程式碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積)
目標 5000行 15篇 400小時
第一週 200/200 2/2 20/20
第二週 20/220 1/3 20/40
第三週 645/865 1/4 14/54
第五週 654/1519 1/5 18/72
第六週 436/1955 1/6 16/88
第七週 839/2794 2/8 20/108
第八週 2143/4937 2/10 25/133
  • 計劃學習時間:18小時

  • 實際學習時間:25小時

相關文章