二叉樹的前序 中序 後序遍歷

2021-10-03 15:26:12 字數 2419 閱讀 9290

class

binarytree

//前序遍歷

public

void

preorder()

}//中序遍歷

public

void

infixorder()

}//後序遍歷

public

void

postorder()

}//前序遍歷查詢

public node preordersearch

(int id)

else

}//中序遍歷查詢

public node infixordersearch

(int id)

else

}//後序遍歷查詢

public node postordersearch

(int id)

else

}}

package 二叉樹;

class

node

public

node

(int id, string name)

public

intgetid()

public

void

setid

(int id)

public string getname()

public

void

setname

(string name)

public node getleft()

public

void

setleft

(node left)

public node getright()

public

void

setright

(node right)

//前序遍歷

public

void

preorder()

if(this

.right != null)

}//中序遍歷

public

void

infixorder()

system.out.

println

(this);

//輸出當前節點if(

this

.right != null)

}//後序遍歷

public

void

postorder()

if(this

.right != null)

system.out.

println

(this);

//輸出當前節點

}//前序遍歷查詢

public node preordersearch

(int id)

//沒有找到,那麼繼續看左孩子節點

//我們需要定義乙個節點來儲存找到的節點

node node = null;if(

this

.left != null)

if(node != null)

//如果還沒有找到,我們就需要去查詢右孩子了if(

this

.right != null)

//這裡即使沒有找到返回的也是null,因為初始值是null

return node;

}//中序查詢

public node infixordersearch

(int id)

if(node != null)

//中序的話直接判斷當前是不是相等if(

this

.id == id)

//如果還沒有找到,我們就需要去查詢右孩子了if(

this

.right != null)

//這裡即使沒有找到返回的也是null,因為初始值是null

return node;

}//後序查詢

public node postordersearch

(int id)

if(node != null)

//如果還沒有找到,我們就需要去查詢右孩子了if(

this

.right != null)

if(node != null)

//後序的話最後判斷當前是不是相等if(

this

.id == id)

return null;

//所有的情況都查詢過了,都沒有查詢到所以

}@override

public string tostring()

';}}

public

class 二叉樹的前序後序中序遍歷

}

總結:對二叉樹的乙個複習

二叉樹遍歷(前序,中序,後序

二叉樹的遍歷有三種方式,如下 1 前序遍歷 dlr 首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。簡記根 左 右。2 中序遍歷 ldr 首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。簡記左 根 右。3 後序遍歷 lrd 首先遍歷左子樹,然後遍歷右子樹,最後訪問根結點。簡記左 右 根。例1 如上圖...

二叉樹的遍歷 前序 中序 後序

include includetypedef struct bintree treenode,b tree b tree root null 函式的宣告 b tree creat tree int n void print1 void preorder b tree pointer 前序遍歷 voi...

二叉樹的前序 中序 後序遍歷

樹形結構是一類重要的非線性資料結構,其中以樹和二叉樹最為常用。二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。二叉樹的每個結點至多只有二棵子樹 不存在度大於2的結點 ...