第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

JavaScript數(shù)據(jù)結(jié)構(gòu)--二叉樹

標(biāo)簽:
JavaScript
二叉树的算法在海量数据的排序上相比于其他排序算法效率要高很多,中序遍历相当于数组的升序排列,前序遍历是对相同二叉树的赋值,但是对于重新排列一个相同结构二叉树来说,效率也要高很多,后序遍历相当于对数组的降序排列。
打印输出顺序:
中序遍历: 左-->根-->右
前序遍历: 根-->左-->右
后序遍历: 左-->右-->根

//构建一个二叉树
function BinaryTree(){
//创建一个节点
var Node = function(key){
this.key = key;//节点的值
this.left = null; //节点的左儿子
this.right = null;//节点的右儿子
};
var root = null;//根节点
var insertNode = function (node, newNode){//插入新节点的函数
if(newNode.key < node.key){//放入左节点
if(node.left === null){//判断左节点是否为空
node.left = newNode;
}else{
insertNode(node.left, newNode);//递归
}
}else{//放入右节点
if(node.right === null){
node.right = newNode;
}else{
insertNode(node.right, newNode);
}
}
};
this.insert = function(key){//自定义函数insert()
var newNode = new Node(key);//实例化一个Node节点对象
if(root == null){//判断根节点是否为空
root = newNode;
}else{
insertNode(root, newNode);
}
};
var inOrderTraversalNode = function(node, callBack){
if(node !== null){
inOrderTraversalNode(node.left, callBack);
callBack(node.key);
inOrderTraversalNode(node.right, callBack);
}
};
//中序遍历
this.inOrderTraversal = function(callBack){
inOrderTraversalNode(root, callBack);
}
var preOrderTraversalNode = function(node, callBack){
if(node !== null){
callBack(node.key);
inOrderTraversalNode(node.left, callBack);
inOrderTraversalNode(node.right, callBack);
}
};
//前序遍历
this.preOrderTraversal = function(callBack){
preOrderTraversalNode(root, callBack);
}
var postOrderTraversalNode = function(node, callBack){
if(node !== null){
postOrderTraversalNode(node.left, callBack);
postOrderTraversalNode(node.right, callBack);
callBack(node.key);
}
};
//后序遍历
this.postOrderTraversal = function(callBack){
postOrderTraversalNode(root, callBack);
}
}
var callBack = function(key){
console.log(key);
};
var nodes = [8, 3, 10, 1, 6, 14, 4, 7, 13];
var binayTree = new BinaryTree(); //实例化一个二叉树
nodes.forEach(function(key){
binayTree.insert(key);
})
//binayTree.inOrderTraversal(callBack);
//
//binayTree.preOrderTraversal(callBack);
//
binayTree.postOrderTraversal(callBack);


點擊查看更多內(nèi)容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消