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 相关文章推荐
使用jquery实现图文切换效果另加特效
Jan 20 Javascript
jQuery判断checkbox是否选中的小例子
Dec 02 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
Mar 04 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
Jun 13 Javascript
Highcharts学习之数据列
Aug 03 Javascript
Jquery和Js获得元素标签名称的方法总结
Oct 08 Javascript
javascript实现简单的可随机变色网页计算器示例
Dec 30 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
JavaScript基础之流程控制语句的用法
Aug 31 Javascript
微信小程序实现聊天室
Aug 21 Javascript
基于angular实现树形二级表格
Oct 16 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程序
2006/10/09 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
BootStrap TreeView使用实例详解
2017/11/01 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
CSMA/CD介质访问控制协议
2015/11/17 面试题
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
高级工程师岗位职责
2013/12/15 职场文书
施工质量承诺书范文
2014/05/30 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
护士辞职信怎么写
2015/02/27 职场文书