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 相关文章推荐
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
Sep 22 Javascript
JS 文件大小判断的实现代码
Apr 07 Javascript
javascript 循环读取JSON数据的代码
Jul 17 Javascript
Javascript实现滚动图片新闻的实例代码
Nov 27 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
js实现图片缓慢放大缩小效果
Aug 02 Javascript
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
给Easyui-Datebox设置隐藏或者不可用的解决方法
May 26 Javascript
微信小程序实现添加手机联系人功能示例
Nov 30 Javascript
vue axios登录请求拦截器
Apr 02 Javascript
webpack4.x CommonJS模块化浅析
Nov 09 Javascript
javascript操作元素的常见方法小结
Nov 13 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中的登陆login实例代码
2016/06/20 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
javascript函数库-集合框架
2007/04/27 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
如何用Lucene索引数据库
2016/02/23 面试题
大学应届毕业生个人求职信
2013/09/23 职场文书
工作个人的自我评价
2014/01/14 职场文书
2014植树节活动总结
2014/03/11 职场文书
记账会计岗位职责
2014/06/16 职场文书
工人先进事迹材料
2014/12/26 职场文书
我的1919观后感
2015/06/03 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
2016教师节问候语
2015/11/10 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
Python实现自动玩连连看的脚本分享
2022/04/04 Python