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 相关文章推荐
循环 vs 递归浅谈
Feb 28 Javascript
js对象的复制继承实例
Jan 10 Javascript
AngularJS使用ng-repeat指令实现下拉框
Aug 23 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
老生常谈Javascript中的原型和this指针
Oct 09 Javascript
JavaScript实现翻页功能(附效果图)
Feb 16 Javascript
highcharts 在angular中的使用示例代码
Sep 20 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
Nov 14 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
Dec 14 Javascript
微信小程序上传多图到服务器并获取返回的路径
May 05 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
Jul 18 Javascript
详解Webpack抽离第三方类库以及common解决方案
Mar 30 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 验证码的实现代码
2011/07/17 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
提高网站性能之 如何对待JavaScript
2009/10/31 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
JS实现touch 点击滑动轮播实例代码
2017/01/19 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
python&amp;MongoDB爬取图书馆借阅记录
2016/02/05 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
django 消息框架 message使用详解
2019/07/22 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
车间组长岗位职责
2013/12/20 职场文书
高中军训感言500字
2014/02/24 职场文书
涨价通知
2015/04/23 职场文书
爱国主义教育主题班会
2015/08/13 职场文书