20172312 2018-2019-1 《程序設計與數據結構》第六週學習總結

20172312 2018-2019-1 《程序設計與數據結構》第六週學習總結

教材學習內容總結

第七章

數據結構——樹

1.樹是一個n(n>=0)個結點的有序合集數據結構

2.名詞理解學習

結點:指樹中的一個元素;
結點的度:指結點擁有的子樹的個數,二叉樹的度不大於2;
數的度:指樹中的最大結點度數;
葉子:度爲0的結點,也稱爲終端結點;
高度:葉子節點的高度爲1,根節點高度最高;
層:根在第一層,以此類推;

3.四種遍歷.net

先序遍歷:根->左子樹->右子樹
中序遍歷:左子樹->根->右子樹
後序遍歷:左子樹->右子樹->根
層級遍歷:根->下層

二叉樹

1.二叉樹定義:由一個結點和兩顆互不相交、分別稱爲這個根的左子樹和右子樹的二叉樹構成(遞歸定義)設計

2.二叉樹的第h層上至多有2^(h-1)個結點調試

3.高度度爲h的二叉樹,至多有2^h-1個結點code

4.滿二叉樹:葉子節點必定要在最後一層,而且全部非葉子節點都存在左child和右child;blog

5.二叉樹操做遞歸

getRoot              返回指向二叉樹根的引用
isEmpty              斷定該樹是否爲空
size                 斷定樹中的元素數目
contains             斷定指定目標是否在該樹中
find                 若是找到指定元素,返回指向其的引用
toString             返回樹的字符串表示
iteratorInOrder      爲樹的中序遍歷返回一個迭代器
iteratorPreOrder     爲樹的前序遍歷返回一個迭代器
iteratorPostOrder    爲樹的後序遍歷返回一個迭代器
iteratorLevelOrder   爲樹的層序遍歷返回一個迭代器

徹底二叉樹

1.徹底二叉樹:從左到右、從上到下構建的二叉樹;字符串

2.結點 h 的子結點爲2h和 2h+1(前提是都小於總結點數)get

3.結點 h 的父結點爲 h/2

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

  • 問題1:關於徹底二叉樹已知結點數n,求層數h,葉子結點數n0。
  • 問題1解決方案:徹底二叉樹除h層外,1~h-1層均爲一個父節點對應兩個子節點(滿二叉樹),因此對n進行計算log2n,計算得數向上取整即爲h。

代碼調試中的問題和解決過程

  • 無(除了代碼太長太多以外)

碼雲連接

結對及互評

本週結對學習狀況

  • 20172315
  • 20172318

結對學習內容

  • pp10.4 pp10.5
  • 徹底二叉樹

學習進度條

  代碼行數(新增/累積) 博客數量(新增/累積) 學習時長(新增/累積)
目標 5000行 30篇 400小時  
第一週 22/22 1/1 12/12  
第二週 203/225 2/3 25/37  
第三週 574/799 1/4 15/52  
第四周 1283/1882 2/6 20/72  
第五週 986/2868 1/7

20/92

第六週 1037/3905 1/8

25/107

參考資料

數據結構——樹——知識點總結

相關文章
相關標籤/搜索