JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的遍歷算法示例
本文實例講述了JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的遍歷算法。分享給大家供大家參考,具體如下:
三種遍歷的代碼:
function inOrder(node){//中序遍歷
if(node!=null){
inOrder(node.left);
document.write(node.show()+" ");
inOrder(node.right);
}
}
function preOrder(node){//先序遍歷
if(node!=null){
document.write(node.show()+" ");
preOrder(node.left);
preOrder(node.right);
}
}
function postOrder(node){//后序遍歷
if(node!=null){
postOrder(node.left);
postOrder(node.right);
document.write(node.show()+" ");
}
}
最后是實驗代碼:
var nums=new BST();
nums.insert(23);
nums.insert(45);
nums.insert(16);
nums.insert(37);
nums.insert(3);
nums.insert(99);
nums.insert(22);
inOrder(nums.root);//3 16 22 23 37 45 99
document.write("<br>");
preOrder(nums.root);//23 16 3 22 45 37 99
document.write("<br>");
postOrder(nums.root);//3 22 16 37 99 45 23
樹的結(jié)構(gòu)為:
23
16 45
3 22 37 99
對應(yīng)的先序,中序,后序結(jié)果自行推導(dǎo)。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
JavaScript 正則表達(dá)式中g(shù)lobal模式的特性
這篇文章主要介紹了JavaScript 正則表達(dá)式中g(shù)lobal模式的特性 的相關(guān)資料,需要的朋友可以參考下2016-02-02
ES6知識點整理之函數(shù)對象參數(shù)默認(rèn)值及其解構(gòu)應(yīng)用示例
這篇文章主要介紹了ES6知識點整理之函數(shù)對象參數(shù)默認(rèn)值及其解構(gòu)應(yīng)用,結(jié)合實例形式分析了ES6函數(shù)對象參數(shù)相關(guān)使用技巧,需要的朋友可以參考下2019-04-04

