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 相关文章推荐
提交按钮的name='submit'引起的js失效问题及原因
Feb 25 Javascript
javascript数组去重方法汇总
Apr 23 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
Jun 18 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
Sep 28 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
jQuery的promise与deferred对象在异步回调中的作用
May 03 Javascript
AngularJS实现页面定时刷新
Mar 14 Javascript
element-ui 设置菜单栏展开的方法
Aug 22 Javascript
vue 中 beforeRouteEnter 死循环的问题
Apr 23 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
Nov 25 Javascript
JS算法教程之字符串去重与字符串反转
Dec 15 Javascript
vue实现移动端div拖动效果
Mar 03 Vue.js
微信小程序实现移动端滑动分页效果(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递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
javascript 动态添加表格行
2006/06/22 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
Vue的Options用法说明
2020/08/14 Javascript
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
详解Django通用视图中的函数包装
2015/07/21 Python
快速查询Python文档方法分享
2017/12/27 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
Python tkinter实现日期选择器
2021/02/22 Python
药学专业个人自我评价
2013/11/11 职场文书
《兰亭集序》教学反思
2014/02/11 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
药店促销活动总结
2014/07/10 职场文书
租房协议书
2014/09/12 职场文书
英语教师个人总结
2015/02/09 职场文书
护理培训心得体会
2016/01/22 职场文书