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.validate使用攻略 第二部
Jul 01 Javascript
zeroclipboard复制到剪切板的flash
Aug 04 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
Jan 09 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
Jan 24 Javascript
30个经典的jQuery代码开发技巧
Dec 15 Javascript
DOM中事件处理概览与原理的全面解析
Aug 16 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
vue项目打包上传github并制作预览链接(pages)
Apr 19 Javascript
微信小程序封装分享与分销功能过程解析
Aug 13 Javascript
Centos7 安装Node.js10以上版本的方法步骤
Oct 15 Javascript
利用JavaScript模拟京东按键输入功能
Dec 01 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输出Excel文件类
2010/02/08 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
Prototype Function对象 学习
2009/07/12 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
js图片预加载示例
2014/04/30 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
python打开文件并获取文件相关属性的方法
2015/04/23 Python
python使用knn实现特征向量分类
2018/12/26 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
python3.7添加dlib模块的方法
2020/07/01 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
学校万圣节活动方案
2014/02/13 职场文书
征婚广告词
2014/03/17 职场文书
诉前财产保全担保书
2014/05/20 职场文书
雷人标语集锦
2014/06/19 职场文书
队名及霸气口号大全
2015/12/25 职场文书
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript