資料結構 二叉樹 前中後序遍歷 查詢 刪除

2021-10-03 12:10:22 字數 1746 閱讀 2135

class

treenode

@override

public string tostring()

}

/**

* 前序遍歷

*/public

void

preorder()

if(this

.right != null)

}/**

* 中序遍歷

*/public

void

infixorder()

system.out.

print

(this

.val);if

(this

.right != null)

}/**

* 後序遍歷

*/public

void

postorder()

if(this

.right != null)

system.out.

print

(this

.val)

;}

/**

* 前序遍歷查詢

* @param val

* @return

*/public treenode preordersearch

(int val)

treenode result = null;if(

this

.left != null)

if(result != null)if(

this

.right != null)

return result;

}/**

* 中序遍歷查詢

* @param val

* @return

*/public treenode infixordersearch

(int val)

if(result != null)if(

this

.val == val)if(

this

.right != null)

return result;

}/**

* 後續遍歷查詢

* @param val

* @return

*/public treenode postordersearch

(int val)

if(result != null)if(

this

.right != null)

if(result != null)if(

this

.val == val)

return result;

}

/**

* 刪除子節點

* 1.如果刪除的節點是葉子節點,則刪除該節點

* 2.如果刪除的節點是非葉子節點,則刪除該子樹

* @param val

*/public

void

delete

(int val)if(

this

.right != null &&

this

.right.val == val)if(

this

.left != null)if(

this

.right != null)

}

資料結構 樹 二叉樹 前 中 後序查詢

中序遍歷查詢 resnode binarytree.infixordersearch 5 if resnode null else system.out.println 後序遍歷查詢 resnode binarytree.postordersearch 5 if resnode null else ...

二叉樹前中後序遍歷

前序遍歷a b d f g h i e c 中序遍歷f d h g i b e a c 後序遍歷f h i g d e b c a 前序 根左右 中序 左根右 後序 左右根 已知某二叉樹的前序遍歷為a b d f g h i e c,中序遍歷為f d h g i b e a c,請還原這顆二叉樹。思...

二叉樹前中後序遍歷

二叉樹 6.先序遍歷 10分 請編寫遞迴函式,實現二叉樹的先序遍歷。函式原型 先序遍歷 void bintreepreorder const tnode root 說明 root為二叉樹或子樹的根指標。在標頭檔案 bintree.h 新增函式宣告。bintree.h 先序遍歷 void bintre...