二叉樹遍歷:
前序遍歷:先輸出當前節點;然後遍歷左子樹,如果左子樹不為空,遞迴前序遍歷;接著遍歷右子樹,如果右子樹不為空,遞迴前序遍歷
中序遍歷:先遍歷當前節點左子樹,如果不為空,遞迴中序遍歷;輸出當前節點,接著遍歷當前節點右子樹,如果不為空,遞迴中序遍歷
後序遍歷:先遍歷當前節點左子樹,如果不為空,遞迴後序遍歷;在遍歷當前節點右子樹,不過不為空,遞迴後序遍歷,輸出當前節點
怎麼區分何種遍歷,就是看當前節點的輸出順序
class heronode
setleft(left)
setright(right)
tostring()
preorder()
if(this.left)
if(this.right)
}preordersearch(no)
let res = null
if(this.left)
if(res) return res
if(this.right)
return res
}infixorder()
console.log(this.tostring())
if(this.right)
}postorder()
if(this.right)
console.log(this.tostring())
}}class binarytree
setroot(root)
preorder()
}infixorder()
}postorder()
}preordersearch(no)
}}function exec()
console.log(exec())
演算法之二叉樹各種遍歷
樹形結構是一類重要的非線性資料結構,其中以樹和二叉樹最為常用。二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。二叉樹的每個結點至多只有二棵子樹 不存在度大於2的結點 ...
演算法之二叉樹各種遍歷
樹形結構是一類重要的非線性資料結構,其中以樹和二叉樹最為常用。二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。二叉樹的每個結點至多只有二棵子樹 不存在度大於2的結點 ...
演算法之二叉樹各種遍歷
樹形結構是一類重要的非線性資料結構,其中以樹和二叉樹最為常用。二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。二叉樹的每個結點至多只有二棵子樹 不存在度大於2的結點 ...