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...