20172316 《程序設計與數據結構》第六週學習總結

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

教材學習內容總結

第十章 樹

:和以前學到的棧、隊列、列表同樣是一種集合,但不一樣的是,樹是一種非線性結構,它的元素被組織成爲層次結構。html

樹的分類git

  1. 度(order),萬事都有一個度,度就是書中任一結點能夠具備的最大孩子(Child)數,如圖中A的孩子數爲2,C的孩子數爲1 ,整個樹孩子數最多爲2,則度爲2; 根據一棵樹的度能夠將其稱爲n元樹,圖中爲二元樹(二叉樹)。數組

    沒有孩子的結點就是樹的葉子,是樹的最終端。數據結構

  2. 樹的「平衡」,樹的全部葉子在同一層或者相差不超過一層,稱之謂平衡;學習

  1. 徹底樹,在平衡樹的基礎上,底層全部葉子緊靠左側設計

    (向左看齊(⊙ˍ⊙)(←←)(←←)(←←) (←←))))))。。。)3d

  2. 滿樹,一個n元樹的每一個結點都有n個孩子,則爲滿樹。調試

實現樹,一樣有兩個方向:數組實現和鏈表實現:
數組實現又分兩個原則方法:計算策略和模擬連接策略;htm

樹的遍歷:四種:前序遍歷、中序遍歷、後序遍歷、層序遍歷。blog

前序:當前→左孩子→右孩子。拿圖三舉例:輸出順序爲abdecf
中序:左孩子→當前→右孩子。以圖三爲例:dbeacf
後序:左孩子→右孩子→當前。debfca
層序:一層一層地遍歷。abcdef

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

問題:模擬連接策略用數組實現樹的理解?

書中的圖片有點抽象,只好仔細閱讀。理解以下。


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


代碼託管

(statistics.sh腳本的運行結果截圖)



學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 0/0 1/1 6/6
第二週 771/771 1/2 16/22
第三週 562/1233 1/3 15/37
第四周 1503/2736 2/5 15/52
第五週 1152/3888 1/6 10/62
第六週 787/4675 1/7 10/72

結對互評

唐才銘19
王文彬29

參考資料

相關文章
相關標籤/搜索