非線性結構 樹 樹型別 樹應用

2021-10-05 17:51:27 字數 1055 閱讀 8459

上乙個部落格已經解釋過了什麼是線性和非線性的區別。想要系統的了解,需要參照之前的博文。

樹是一種非常重要的非線性結構!

為什麼稱為樹結構呢?主要是長得有點像,樹形結構講究層級和分叉,和自然界的樹比較相近。

以下的樹是無序,單純按存放方式。

理解樹:

這是乙個簡單的樹形結構圖,其中在理論範疇來講,節點三到五稱為業主節點。作為技術人員,我得找乙個與我們比較近的例子!

檔案系統(其實不是樹,但是可以更好的理解樹的傳承關係):

每乙個資料夾都可以作為乙個節點。

二叉樹,就是開兩個叉的,指向兩個方向。二叉樹是樹分支裡面非常重要的結構。為何二叉樹重要,個人覺得得從二進位制的思維說起。數學中的大於小於和0,1狀態是相近的,因此在資料判斷上大於小於判斷是有優勢的。在資料排序中一般是大於小於狀態(等於就是自身,去除重複後就沒有了),二叉樹也是這種排列方式,所以從硬體邏輯判別方面來說,二叉樹是有較大優勢的。

術語:方向分為左,右方向

節點:根節點,葉子節點(終端節點)

度:乙個根節點的孩子數

由於這兩種儲存方式的不同,順序儲存需要在儲存前排序好,鏈式儲存則靠指標域指向反應邏輯規律。

樹的遍歷一般遵循以下三種方式:

前序:左-根-右

中續:根-左-右

後續:左-右-根

最優二叉樹-哈夫曼樹

最優:權帶路徑最小(wpl)

哈夫曼編碼:還有很多。

非線性結構 樹1

1 樹的定義 1 有且只有乙個根的節點 2 有若干個互不相交的子樹,這些子樹本身也是一棵樹 通俗定義 樹是由節點和邊組成 每個節點只有乙個父節點,可以有多個子節點 根節點沒有父節點。專業術語 節點 父節點 子節點 子孫 堂兄弟 樹的深度 從根節點到最底層節點的層數稱為深度,根節點是第一層 葉子節點 ...

非線性結構 普通樹的兩種實現方式

第一種 子節點搜尋父節點方式 class treeparent public node t data public node t data,int parent override public string tostring 預設樹的大小 private final int def tree siz...

Trie樹 高階樹型結構

trie樹應用 trie 樹中文名叫字典樹 字首樹等等。這些名字暗示其與字元的處理有關,事實也確實如此,它主要用途就是將字串 當然也可以不限於字串 整合成樹形。它的核心思想就是通過最大限度地減少無謂的字串比較,使得查詢高效率,即 用空間換時間 再利用共同字首來提高查詢效率。典型應用於統計和排序大量的...