雙鏈表的操作和二叉樹的知識總結

2021-08-27 10:24:46 字數 1854 閱讀 6565

1、

雙鏈表(1)

插入操作(在雙鏈表head中第i個結點之前插入乙個值為x的結點)

(2)刪除操作(刪除雙鏈表head中的第i個結點)

2、迴圈鍊錶(circularlinkedlist)

(1)迴圈鍊錶是表中最後乙個結點的指標指向頭結點,使鍊錶構成環狀。

(2)特點:從表中任一結點出發均可找到表中其他結點,提高查詢效率。

(3)操作與單鏈表基本一致,迴圈條件不同

單鏈表p或p->link=null

迴圈鍊錶p或p->link=h

3、雙向鍊錶(doublelinkedlist)

單鏈表具有單向性的缺點

結點定義

typedefstructnodejd;

4、刪除

voiddelete_list(jd*p)

插入voidinsert_list(jd*p,intx)

5、家譜

《祖父,伯父》,《祖父,父親》,《祖父,叔父》,《伯父,堂兄》,《伯父,堂姐》,《父親,你》,《叔父,堂弟》,《堂兄,侄兒》

6、樹型結構

概念:樹型結構是非線性結構。樹型結構是結點之間有分支,並且具有層次關係的結構,它非常類似於自然界中的樹。樹結構在客觀世界中是大量存在的,例如家譜、行政組織機構都可用樹形象地表示。7、樹

定義:樹(tree)是n(n>=0)個結點的有限集t,其中:有且僅有乙個特定的結點,稱為樹的根(root)當n>1時,其餘結點可分為m(m>0)個互不相交的有限集t1,t2,……tm,其中每乙個集合本身又是一棵樹,稱為根的子樹(subtree)

8、基本術語

結點(node)——表示樹中的元素,包括資料項及若干指向其子樹的分支

結點的度(degree)——結點擁有的子樹的個數

葉子(leaf)——度為0的結點

孩子(child)——結點子樹的根稱為該結點的孩子

雙親(parents)——孩子結點的上層結點叫該結點的~

兄弟(sibling)——同一雙親的孩子

樹的度——一棵樹中所有結點度數的最大值

結點的層次(level)——從根結點算起,根為第一層,它的孩子為第二層……

深度(depth)——樹中結點的最大層次數

森林(forest)——m(m³0)棵互不相交的樹的集合

9、樹和線性結構的比較

(1)線性結構:第乙個資料元素(無前驅);最後乙個資料元素(無後繼);其它資料元素(乙個前驅、乙個後繼).

(2)樹結構:根結點(無前驅);多個葉子結點(無後繼);樹中其它結點

(乙個前驅、多個後繼).

10、二叉樹的概念

定義:二叉樹是n(n³0)個結點的有限集,它或為空樹(n=0),或由乙個根結點和兩棵分別稱為左子樹和右子樹的互不相交的二叉樹構成

特點:每個結點至多有二棵子樹(即不存在度大於2的結點)

二叉樹的子樹有左、右之分,且其次序不能任意顛倒

11、完全二叉樹

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

(2)判斷是否為完全二叉樹的依據:若設二叉樹的深度為h,除第h層外,其它各層(1~h-1)的結點數都達到最大個數,第h層所有的結點都連續集中在最左邊,這就是完全二叉樹。

12、具有n個結點的完全的二叉樹的深度:[log2^n]+1

13、二叉樹的第i層上至多有2^(i-1)個結點(i>=1)

14、遍歷二叉樹

1.方法:

先序(根)遍歷:先訪問根結點,然後分別先序遍歷左子樹、右子樹

中序(根)遍歷:先中序遍歷左子樹,然後訪問根結點,最後中序遍歷右子樹

後序(根)遍歷:先後序遍歷左、右子樹,然後訪問根結點

按層次遍歷:從上到下、從左到右訪問各結點.

二叉樹的基本操作和遍歷

下面將介紹二叉樹的基本操作和先序中序後序遍歷 先看看二叉樹基本定義 typedef char data 定義元素型別 typedef struct chaintree 定義二叉樹結點型別 chainbintree 初始化二叉樹 chainbintree chainbintreeinit chainb...

Java實現二叉樹 雙鏈表

雙鏈表 public class mydoublelink implements iterable private node head 頭節點 private node rear 尾節點 private int modcount 0 從鍊錶的後面新增資料 param data public void...

二叉樹操作總結

對於二叉樹,有前序 中序 後序三種遍歷方法,由於樹的定義本身就是遞迴定義的,故採用遞迴方法實現三種遍歷簡潔易懂。若採用非遞迴訪問,則需要使用棧來模擬遞迴的實現。三種遍歷的非遞迴演算法中,前序和後序較容易,而後序相對較難。前序遍歷 遞迴非遞迴 樹的遍歷 中序遍歷 遞迴非遞迴 後序遍歷 遞迴非遞迴 層次...