大前端演算法篇之二叉樹遍歷

2022-09-21 05:57:10 字數 894 閱讀 5738

二叉樹遍歷:

前序遍歷:先輸出當前節點;然後遍歷左子樹,如果左子樹不為空,遞迴前序遍歷;接著遍歷右子樹,如果右子樹不為空,遞迴前序遍歷

中序遍歷:先遍歷當前節點左子樹,如果不為空,遞迴中序遍歷;輸出當前節點,接著遍歷當前節點右子樹,如果不為空,遞迴中序遍歷

後序遍歷:先遍歷當前節點左子樹,如果不為空,遞迴後序遍歷;在遍歷當前節點右子樹,不過不為空,遞迴後序遍歷,輸出當前節點

怎麼區分何種遍歷,就是看當前節點的輸出順序

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的結點 ...