資料結構之樹

2022-09-05 07:18:13 字數 2308 閱讀 2561

樹型結構是一類重要的非線性資料結構。樹是n(n>=0)個結點的有限集。在任意一顆非空樹中,有且僅有乙個

特定的稱為根的結點;當n>1時,其餘結點可分為m(m>0)個互不相交的有限集t1,t2,...,tm,其中每

乙個集合

本身又是一棵樹,並且稱為根的子樹。因此樹的資料結構定義為:

#define elemtype chartypedef 

struct

bintreenode

bintreenode;

typedef

struct

bintree

bintree;

在樹型結構中可以進行以下操作:

void initbintree(bintree *t);

void createbintree(bintree *t);

void createbintree(bintreenode *&t);

int size(bintree *t);

int size(bintreenode *t);

int height(bintree *t);

int height(bintreenode *t);

bintreenode* find(bintree *t, elemtype key);

bintreenode* find(bintreenode *t, elemtype key);

bintreenode* leftchild(bintreenode *t);

bintreenode* rightchild(bintreenode *t);

bintreenode* parent(bintree *t, elemtype key);

bintreenode* parent(bintreenode *t, elemtype key);

bool equal(bintree *t1, bintree *t2);

bool equal(bintreenode *t1, bintreenode *t2);

void copy(bintree *t, bintree *t1);

void copy(bintreenode *t, bintreenode *&t1);

void clearbintree(bintree *t);

void clearbintree(bintreenode *&t);

上面宣告的方法有:(1)初始化乙個二叉樹.(2)建立出二叉樹.(3)求二叉樹的結點個數.(4)求二叉樹

的高度.(5)在乙個二叉樹中,查詢出key值的結點,並返回其位址.(6)在二叉樹中,求出該結點的左子樹.(7)

在二叉樹中,求出該結點的右子樹.(8)在乙個二叉樹中,查詢key值的結點的父結點,並返回位址.(9)比較兩

個二叉樹是否相等.(10)根據乙個二叉樹去複製出另乙個二叉樹.(11)清空乙個二叉樹.

將宣告的方法進行實現有:

void initbintree(bintree *t)

void createbintree(bintree *t)

void createbintree(bintreenode *&t)

}int size(bintree *t)

int size(bintreenode *t)

int height(bintree *t)

int height(bintreenode *t)

}bintreenode* find(bintree *t, elemtype key)

bintreenode* find(bintreenode *t, elemtype key)

bintreenode* leftchild(bintreenode *t)

bintreenode* rightchild(bintreenode *t)

bintreenode* parent(bintree *t, elemtype key)

bintreenode* parent(bintreenode *t, elemtype key)

bool equal(bintree *t1, bintree *t2)

bool equal(bintreenode *t1, bintreenode *t2)

void copy(bintree *t, bintree *t1)

void copy(bintreenode *t, bintreenode *&t1)

}void clearbintree(bintree *t)

void clearbintree(bintreenode *&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都是祖先 ...