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 相关文章推荐
一段效率很高的for循环语句使用方法
Aug 13 Javascript
javascript调试之DOM断点调试法使用技巧分享
Apr 15 Javascript
javascript使用smipleChart实现简单图表
Jan 02 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
Jul 04 Javascript
jQuery实现简洁的轮播图效果实例
Sep 07 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
Sep 27 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 Javascript
javascript常用的设计模式
Feb 09 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
Dec 18 Javascript
Vue不能检测到Object/Array更新的情况的解决
Jun 26 Javascript
JS实现动态添加外部js、css到head标签的方法
Jun 05 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之apc
2013/05/15 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
Nginx实现反向代理
2017/09/20 Servers
window.open的功能全解析
2006/10/10 Javascript
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
Python实现全局变量的两个解决方法
2014/07/03 Python
Python中replace方法实例分析
2014/08/20 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
python绘制雷达图实例讲解
2021/01/03 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
保护母亲河倡议书
2014/04/14 职场文书
初婚未育证明样本
2014/10/24 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
不同意离婚上诉状
2015/05/23 职场文书
小学班级标语口号大全
2015/12/26 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android