資料結構學習總結(三)

2021-09-09 04:44:44 字數 1346 閱讀 7551

二叉樹:一種特殊的樹形結構特點是每個節點至多只有兩課子樹,並且子樹有左右之分,次序不能顛倒。

滿二叉樹:指樹中的每一層都含有最多的結點的二叉樹。

完全二叉樹:深度為h的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為h的滿二叉樹中編號從1至n的結點一一對應時,稱為完全二叉樹。

二叉排序樹:指一棵二叉樹或者是空二叉樹,具有如下性質:左子樹上所有結點的關鍵字均小於根節點關鍵字;右子樹上所有結點的關鍵字均大於根節點的關鍵字,左右子樹又各是一棵二叉排序樹。

平衡二叉樹:樹上任一結點的左子樹和右子樹的高度之差不超過1

常用的二叉樹遍歷演算法有:前序遍歷、中序遍歷、後續比那裡,以及層次遍歷。

前序遍歷:先訪問根節點,然後前序遍歷左子樹,最後前序遍歷右子樹;

中序遍歷:中序遍歷左子樹,訪問根節點,最後中序遍歷右子樹;

後序遍歷:後序遍歷左子樹,後序遍歷右子樹,訪問根節點;

上面的演算法思想可以用遞迴演算法實現,在用非遞迴演算法實現時,需要借助棧。

層次遍歷:對二叉樹的各個節點逐層訪問,需要借助乙個佇列,先將而常數的根節點入隊,然後出隊,訪問該結點,如果它有左子樹,則將左子樹根節點入佇列;如果它有右子樹,則將右子樹根節點入佇列。然後出隊,對出隊節點訪問,反覆進行,直到隊列為空。

中序序列和前序或後序序列中任一組合能唯一確定一棵二叉樹,而已知前序和後序的組合不能唯一確定。確定二叉樹,要分別找到根節點和左右子樹。因此,根據遍歷結果,必定要確定根節點的位置和如何劃分子樹,才可以最終唯一確定一棵二叉樹,僅有前序和或許遍歷序列不能唯一確定,因為無法劃分左右子樹,而其中任何乙個加上中序序列都可以唯一確定一棵二叉樹。

逆波蘭表示式也就是字尾表示式,逆波蘭表示式求值即計算,也是從左往右依次讀取,如果是運算元則入棧,當讀到操作符時,將之前的兩個運算元依次出棧進行計算,再講結果入棧,接著讀取,重複此步驟。

這個問題可以反推出來,乙個高度為h的平衡二叉樹至少有多少個結點?實際上是用斐波那契數列推出來的:1,2,4,7,11,即f(n) = f(n-1) + f(n-2),由此可以反推出來。

平衡二叉樹檢索取決於其高度即o(logn),插入分為兩步,第一步找插入點,時間複雜度為o(logn),第二步找到需要調整的子樹進行最多兩次調整,時間複雜度也為o(logn),因而它的插入操作的時間複雜度為o(logn);刪除的時間和插入一樣,因此,平衡二叉書的檢索、插入、刪除的時間複雜度均為o(logn)。增加和刪除可能需要通過一次或多次旋轉來重新平衡這個數。

資料結構學習總結

了解資料,資料項,資料元素,資料物件的關係。資料元素 組成資料的,具有一定意義的基本單位,在計算機中做整體處理,也稱為記錄。乙個資料元素可以由多個資料項組成。資料物件 資料相同的資料元素的集合,是資料的子集。有的書上也成為資料物件和例項,結合的理解。資料結構可以分為 物理結構和邏輯結構 邏輯結構 集...

資料結構學習總結

隨著2015年的結束,資料結構這門課程也即將結束,這乙個學期跟著賀老師一起通過翻轉課堂的方式學習既新鮮也很慶幸。對這一學期資料結構的學習我想說一說我的感受。這學期資料結構 學了線性結構 樹 圖等等 線性結構包括線性表 棧 佇列 串 陣列 廣義表等 遞迴是程式設計中很重要的一種工具 也是我需要掌握的乙...

資料結構學習總結

第一章是緒論,介紹了資料結構的基本概念,資料結構有邏輯結構和儲存結構兩種 第二章為線性表,介紹了線性表的兩種儲存結構 順序表和煉表與其基本運算演算法的實現,鍊錶又包括單鏈表 雙鏈表 迴圈列表等多種形式 第三章為棧和佇列,介紹這兩種特殊的線性結構的概念與應用 第四章是串,介紹串,包括順序串和鏈串的概念...