Javascript實(shí)現(xiàn)從小到大的數(shù)組轉(zhuǎn)換成二叉搜索樹
廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:
var Array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var Tree = createTree(Array);
console.log(Tree);
// 構(gòu)造一個(gè)節(jié)點(diǎn)
function Node(nodeData, leftData, rightData) {
this.nodeData = nodeData;
this.leftData = leftData;
this.rightData = rightData;
}
// 每次取中點(diǎn)作為根節(jié)點(diǎn),向左和向右遞歸
function createTree(array) {
if (array.length <= 0) {
return null;
} else {
var mid = parseInt(array.length / 2);
var node = new Node(array[mid], null, null);
var leftArray = array.slice(0 , mid);
var rightArray = array.slice(mid + 1 , array.length );
node.leftData = createTree(leftArray);
node.rightData = createTree(rightArray);
return node;
}
}
以上所述是小編給大家介紹的Javascript實(shí)現(xiàn)從小到大的數(shù)組轉(zhuǎn)換成二叉搜索樹,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
javascript中eval和with用法實(shí)例總結(jié)
這篇文章主要介紹了javascript中eval和with用法,結(jié)合實(shí)例形式總結(jié)分析了JavaScript中eval和with的功能、用法與相關(guān)注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
微信小程序中的canvas 文字?jǐn)嘈泻褪÷蕴?hào)顯示功能的處理方法
大家都知道在canvas中沒有提供方法來處理文字的多行問題,只有通過截取指定字符串來達(dá)到目的。接下來通過本文給大家介紹微信小程序中的canvas 文字?jǐn)嘈泻褪÷蕴?hào)顯示功能 ,需要的朋友可以參考下2018-11-11
javascript仿php的print_r函數(shù)輸出json數(shù)據(jù)
輸出json數(shù)據(jù),php的print_r函數(shù)可以輕松實(shí)現(xiàn),下面為大家介紹下javascript也可以模仿print_r函數(shù)輸出json數(shù)據(jù),具體實(shí)現(xiàn)如下,感興趣的朋友可以了解下2013-09-09
10行原生JS實(shí)現(xiàn)文字無縫滾動(dòng)(超簡單)
下面小編就為大家分享一篇10行原生JS實(shí)現(xiàn)文字無縫滾動(dòng)的效果,特別簡單,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2018-01-01
swiper+echarts實(shí)現(xiàn)多個(gè)儀表盤左右滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了swiper+echarts實(shí)現(xiàn)多個(gè)儀表盤左右滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06

