二叉樹的生成及其遍歷

2021-10-04 12:41:51 字數 1075 閱讀 1123

二叉樹的基本結構

static

class

treenode

}

向二叉樹中插入乙個新節點:

public

static

void

add(

int a,treenode node)

else

}else

else

}}

將序列生成二叉樹,封裝上述的方法實現:

public

static treenode create

(int

a)return tree;

}

public

static treenode createtree

(int

a)treenode[

] treenodes =

newtreenode

[a.length]

;for

(int i =

0; i < a.length; i++

)//完全二叉樹的特點:從0開始的第i個節點,左孩子為2i+1,右孩子為2i+2

for(

int i =

0; i < a.length; i++

)return treenodes[0]

;}

前序遍歷(dlr):根->左子樹->右子樹

public

static

void

dlr(treenode tree)

中序遍歷(ldr):左子樹->根->右子樹

public

static

void

ldr(treenode tree)

後序遍歷

public

static

void

lrd(treenode tree)

二叉樹及其遍歷

滿二叉樹肯定是完全二叉樹,完全二叉樹不一定是滿二叉樹 二叉樹的遍歷 先序遍歷 也叫做先根遍歷 前序遍歷,首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹,如果二叉樹為空則返回。中序遍歷 首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。...

二叉樹及其遍歷

二叉樹是乙個很重要的儲存結構,所以和大家分享一下我對二叉樹的理解並結合 希望讓大家都能對二叉樹有乙個最清晰的認識 首先,二叉樹是每個節點最多有兩個子樹的樹結構,這是二叉樹的定義,二叉樹的結構如下圖 可以看到二叉樹必要的是根節點,也就是a,每個節點都會有左子節點和右子節點,那麼從b開始看,它又是乙個二...

二叉樹及其應用 二叉樹遍歷

給定二叉樹的廣義表表示,構造二叉樹並輸出二叉樹的四種遍歷順序。輸入說明 輸入僅一行,該行僅由 以及大小寫字元構成的二叉樹的廣義表表示,字串長度不超過100。輸出說明 在接下來的四行中依行輸出二叉樹的四種遍歷 輸入樣列 a b d,c e,f h 輸出樣列 abdcefh dbaecfh dbehfc...