資料結構之樹的學習

2021-06-22 17:38:25 字數 1565 閱讀 4550

在樹中,對於任意節點n,n的深度為從根節點到n的唯一路徑的 長。因此,根 的深度為零。n 的高度是從n到一片樹葉的最長路徑的長。因此所有的樹葉的高都是0一棵樹的高等於他的根的高.

一顆樹的深度等於他的最深的樹葉的深度,該深度總是等於這棵樹的高.

樹節點的宣告

typedef struct treenode *ptrtonode;

struct treenode

;二叉樹節點宣告

typedef struct treenode *ptrtonode;

tyedef struct ptrtonode tree;

struct treenode

;是二叉樹成為二叉查詢樹的性質是:對於樹中的每乙個節點x,他的左子樹的所有關鍵字值

小於x的關鍵字值.而他的右子樹中所有關鍵字的值大於x的關鍵字值.

二叉查詢樹的宣告

#ifndef _tree-h

struct treenode;

typedef struct treenode *position;

typedef struct treenode *searchtree;

searchtree makeempty(searchtree t);

position find(elementtype x,searchtree t);

position findmin(searchtree t);

positon  findmax(searchtree  t);

searchtree  insert(elementtype x,searchtree t);

searchtree  delete(elementtype x,serachtre t);

elementtype retrieve(position p);

#endif

struct treemode

;建立一顆空的二叉樹

searchtree makeempty(seachtree t)

return null;

}二叉查詢樹的find操作

position find(elementtype x,searchtree t)

對二叉查詢樹的findmin的遞迴實現

position findmin(searchtree t)

對而查詢樹的findmax的非遞迴實現

position findmax(searchtree t)

插入元素到二叉查詢樹的

searchtree insert(elementtype x,searchtree t)

}else

if(xelement)

t->left=insert(x,t->left);

else 

if(x>t->element)

t->right=insert(x,t->right);

return t;

}二叉查詢樹的刪除

searchtree delete(elementtype x,searchtree t)

else

return t;

}

資料結構之 樹

1.雙親表示法 下標 資料 parentid 2.孩子表示法 data child1 child2 child3 3.雙親孩子表示法 下標 parentid firstchildid secondchildid 節點 下標 next 頁的話next應該是null 4.孩子兄弟表示法 data 第一次...

資料結構之樹

一 樹的基本概念 樹 tree 是元素的集合,樹有多個節點可以儲存元素 二 二叉樹 每個節點最多有兩個子節點的樹稱為二叉樹 常用來做二分查詢 binary search 等 三 b樹 即二叉搜尋樹 binary search tree 是一種特殊形態的二叉樹 1 所有節點最多擁有2個子節點 2 所有...

資料結構之樹

樹是節點的有限集合.度 a的度是3 b的度是2 d的度是2 c的度為0 當前節點的直接分支 葉子 終端節點就是葉子 e f g h c 根 非終端節點就是根 a b d 有序樹 如果e f不可以隨意換順序 就是有序樹 無序樹 如果 e f可以隨意換順序而且不影響邏輯 祖先 對e來說 b,a都是祖先 ...