為了表示二叉樹,定義兩個類:treenode和tree,其中treenode class是對結點資訊的抽象,它包括結點的資料域和分別指向左子樹和右子樹的指標域;tree class是對二叉樹的抽象,乙個二叉樹由乙個根結點確定,所以其成員變數為乙個根結點指標,此外它也抽象了二叉樹的各種操作,包括二叉樹的遍歷等。它的c++基本實現如下:
treenode class:
1view code/*treenode.h */2
#ifndef treenode_h
3#define treenode_h
45 template class
tree;
67 template
8class
treenode918
private
:19 treenode*leftchild;
20t data;
21 treenode*rightchild;
22};
2324
#endif
tree class:
1view code/*tree.h */2
#ifndef tree_h
3#define tree_h
45 #include "
treenode.h"6
7 template
8class
tree9;
1920
#endif
在隨後的章節中,為了使表達更直觀更簡潔,將treenode和tree中的成員變數的屬性設為了public。
樹和二叉樹 二 二叉樹的順序儲存
順序儲存結構型別定義 define virnode 0 定義虛節點值 define max tree size 100 定義儲存空間最大值 typedef char elemtype 定義節點值型別 typedef elemtype sqbittree max tree size sqbittree...
二叉樹 二叉樹
題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...
樹 二叉樹 滿二叉樹 完全二叉樹 完滿二叉樹
目錄名稱作用根 樹的頂端結點 孩子當遠離根 root 的時候,直接連線到另外乙個結點的結點被稱之為孩子 child 雙親相應地,另外乙個結點稱為孩子 child 的雙親 parent 兄弟具有同乙個雙親 parent 的孩子 child 之間互稱為兄弟 sibling 祖先結點的祖先 ancesto...