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 处理 URL 的两个函数代码
Aug 13 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
Dec 18 Javascript
基于jquery实现的表格分页实现代码
Jun 21 Javascript
js使用函数绑定技术改变事件处理程序的作用域
Dec 26 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
Mar 26 Javascript
javascript垃圾收集机制的原理分析
Dec 08 Javascript
Node.js获取前端ajax提交的request信息
Feb 20 Javascript
AngularJS路由切换实现方法分析
Mar 17 Javascript
Node层模拟实现multipart表单的文件上传示例
Jan 02 Javascript
vue-router配合ElementUI实现导航的实例
Feb 11 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 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
短波收音机简介
2021/03/01 无线电
php代码架构的八点注意事项
2016/01/25 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
2016/07/14 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
python和shell变量互相传递的几种方法
2013/11/20 Python
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
Django 登陆验证码和中间件的实现
2018/08/17 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
python学生信息管理系统实现代码
2019/12/17 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
大学生两会精神学习心得体会
2014/03/10 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
出国留学单位推荐信
2015/03/26 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
Python中rapidjson参数校验实现
2021/07/25 Python
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python
windows系统搭建WEB服务器详细教程
2022/08/05 Servers