1. 程式人生 > >二叉樹編碼(陣列)

二叉樹編碼(陣列)

int tree[3] 3 5 8 2 6 9 7

                3(0)
      5(1)                 8(2)
2(3)      6(4)        9(5)       7(6)

父節點下標*2+1 左邊節點
父節點下標*2+2 右邊節點

樹的基本操作:

1.樹的建立和銷燬
2.樹的節點的搜尋
3.樹的節點的新增和搜尋
4.樹的節點的遍歷

BOOL CreateTree (Tree *pTree, Node *pRoot);
void DestoryTree (Tree *pTree
); Node *SearchTree (Tree *pTree, int nodeIndex); BOOL AddNode (Tree *pTree, int nodeIndex, int direction , Node *pNode); BOOL DeleteNode (Tree *pTree, int nodeIndex, Node *pNode); void TreeTraverse(Tree *pTree);