Javascript实现从小到大的数组转换成二叉搜索树


Posted in Javascript onJune 13, 2017

废话不多说了,直接给大家贴代码了,具体代码如下所示:

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实现从小到大的数组转换成二叉搜索树,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
理解 JavaScript 预解析
Oct 25 Javascript
jquery 得到当前页面高度和宽度的两个函数
Feb 21 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
JS实现仿微博可关闭弹出层效果
Sep 21 Javascript
javascript对象的相关操作小结
May 16 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
Dec 30 Javascript
jQuery ajax实现省市县三级联动
Mar 07 Javascript
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
Jan 25 Javascript
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
Nov 10 Javascript
JS实现电脑虚拟键盘打字测试
Jun 24 Javascript
微信小程序实现移动端滑动分页效果(ajax)
Jun 13 #Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 #Javascript
微信小程序动态显示项目倒计时效果
Jun 13 #Javascript
深究AngularJS之ui-router详解
Jun 13 #Javascript
微信小程序自定义导航隐藏和显示功能
Jun 13 #Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
Jun 13 #Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
Jun 13 #Javascript
You might like
php获取当前url地址的方法小结
2017/01/10 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
php慢查询日志和错误日志使用详解
2021/02/27 PHP
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
如何在django中实现分页功能
2020/04/22 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
浅析python实现动态规划背包问题
2020/12/31 Python
英国名牌男装店:Standout
2021/02/17 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
营销与策划应届生求职信
2013/11/04 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
司机工作自我鉴定
2014/09/19 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
法务专员岗位职责
2015/02/14 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
Linux中sftp常用命令整理
2022/06/28 Servers