1. 程式人生 > 其它 >3、二叉樹 Java中二叉樹的遍歷、查詢

3、二叉樹 Java中二叉樹的遍歷、查詢

樹(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


Java中二叉樹的遍歷、查詢