废话不多说了,直接给大家贴代码了,具体代码如下所示:
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; var tree = createtree(array); console.log(tree); // 构造一个节点 function node(nodedata, leftdata, rightdata) { this.nodedata = nodedata; this.leftdata = leftdata; this.rightdata = rightdata; } // 每次取中点作为根节点,向左和向右递归 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实现从小到大的数组转换成二叉搜索树,希望对大家有所帮助
如对本文有疑问, 点击进行留言回复!!
荐 从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---10. MVC 结果渲染器的编写
荐 Vue.js 入门到放弃 Day3——TodoMVC 完整案例 + 自定义指令
flex布局:解决justify-content: space-between;最后一行靠左对齐
网友评论