樹和二叉樹

2021-09-29 13:24:13 字數 1989 閱讀 8221

樹:n(n≥0)個結點的有限集合。

當n=0時,稱為空樹;

任意一棵非空樹滿足以下條件:

⑴ 有且僅有乙個特定的稱為根的結點;

⑵ 當n>1時,除根結點之外的其餘結點被分成m(m>0)個互不相交的有限集合t1,t2,… ,tm,其中每個集合又是一棵樹,並稱為這個根結點的子樹。

結點的度:結點所擁有的子樹的個數。

樹的度:樹中各結點度的最大值。

葉子結點:度為0的結點,也稱為終端結點。

分支結點:度不為0的結點,也稱為非終端結點。

孩子、雙親:樹中某結點子樹的根結點稱為這個結點的孩子結點,這個結點稱為它孩子結點的雙親結點;

兄弟:具有同乙個雙親的孩子結點互稱為兄弟。

路徑:如果樹的結點序列n1, n2, …, nk有如下關係:結點ni是ni+1的雙親(1<=i葉子結點只能出現在最下兩層,且最下層的葉子結點都集中在二叉樹的左部;

完全二叉樹中如果有度為1的結點,只可能有乙個,且該結點只有左孩子。

深度為k的完全二叉樹在k-1層上一定是滿二叉樹。

二叉樹基本操作

#include using namespace std;

template struct node

;template class bitree

~bitree()

void preorder()

void inorder()

void postorder()

void levelorder();

void qianorder()

void zhongorder()

void postorder();

private:

node*creat();

node*root;

void release(node*bt);

void preorder(node*bt);

void inorder(node*bt);

void postorder(node*bt);

void qianorder(node*bt);

void zhongorder(node*bt);

};template struct element

;//非遞迴後序遍歷

template void bitree:: postorder( )

while (top != -1 && s[top].flag == 2)

if (top != -1)

else

bt = null; }}

//非遞迴中序遍歷

template void bitree::zhongorder(node*bt)

while(top!=-1)

}}//非遞迴前序遍歷

template void bitree::qianorder(node*bt)

while(top!=-1)

}}template node*bitree::creat()

else bt=null;

return bt;

}//析構

template void bitree::release(node*bt)

else return;

}//前序遍歷

template void bitree::preorder(node*bt)

else

return;

}//中序遍歷

template void bitree::inorder(node*bt)

else return;

}//後序遍歷

template void bitree::postorder(node*bt)

else return;

}template void bitree::levelorder()

}int main()

while(ch=='y');

return 0;

}

二叉樹 滿二叉樹和完全二叉樹

二叉樹是一種很重要的非線性資料結構,它是樹結構的一種重要的型別 它不是樹結構的特殊情況 其特徵是每個節點最多有兩個子樹。二叉樹的特點 二叉樹每個結點最多有 2個子結點,樹則無此限制 二叉樹中 結點的子樹 分成左子樹和右子樹,即使某結點只有一棵子樹,也要指明該子樹是左子樹,還是右子樹,就是說 二叉樹是...

樹 二叉樹 滿二叉樹 完全二叉樹 完滿二叉樹

目錄名稱作用根 樹的頂端結點 孩子當遠離根 root 的時候,直接連線到另外乙個結點的結點被稱之為孩子 child 雙親相應地,另外乙個結點稱為孩子 child 的雙親 parent 兄弟具有同乙個雙親 parent 的孩子 child 之間互稱為兄弟 sibling 祖先結點的祖先 ancesto...

二叉樹和完全二叉樹

二叉樹規律 假設根節點的高度為0 二叉樹是每個節點至多只有兩個節點的樹 深度為i所在的層至多有 2 i個節點 高度為k的二叉樹至多有2 k 1 1個節點 n0表示度為0的節點,n2表示度為2的節點,存在n0 n2 1 對所有樹有 節點個數 邊數 1 完全二叉樹規律 節點數為n的完全二叉樹,其高度為 ...