3、二叉樹 Java中二叉樹的遍歷、查詢
阿新 • • 發佈:2022-12-07
樹(Tree)是n個結點的有限集合。
度:擁有子結點的數量為結點的度,樹中最大的度為樹的度。
結點(節點):根結點、內部結點、葉子結點
有序樹:左分支和右分支嚴格區分的樹。
1、二叉樹
每個結點的度最大為2的樹,二叉樹為有序樹。
滿二叉樹:每層結點都是滿的二叉樹。
完全二叉樹:在一個滿二叉樹中,從右下側開始去掉若干相鄰的結點,得到的樹為完全二叉樹。
儲存結構
1、順序儲存結構
使用陣列存放二叉樹的元素,它只有在滿二叉樹或完全二叉樹的情況下才不會有空間浪費。
2、鏈式儲存結構
使用二叉連結串列存放二叉樹的元素,每個結點包括三個域:左孩子域,值域,右孩子域。
遍歷
規定左節點一定在右節點之前遍歷,則二叉樹的遍歷可分為:
1、先序遍歷(DLR):根、左子樹、右子樹 如:A B D E G C F
2、中序遍歷(LDR):左子樹、根、右子樹 如:D B G E A C F
3、後序遍歷(LRD):左子樹、右子樹、根 如:D G E B F C A