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 相关文章推荐
javascript学习笔记(五) Array 数组类型介绍
Jun 19 Javascript
基于JavaScript 类的使用详解
May 07 Javascript
JS+CSS实现滑动切换tab菜单效果
Aug 25 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 Javascript
学习JavaScript设计模式之代理模式
Jan 12 Javascript
JS获取复选框的值,并传递到后台的实现方法
May 30 Javascript
微信公众号 客服接口的开发实例详解
Sep 28 Javascript
js生成随机颜色方法代码分享(三种)
Dec 29 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
浅谈node中的cluster集群
Jun 02 Javascript
javascript面向对象三大特征之继承实例详解
Jul 24 Javascript
实例讲解JavaScript 计时事件
Jul 04 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 cookis创建实现代码
2009/03/16 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
ThinkPHP安装和设置
2015/07/27 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
详解基于element的区间选择组件校验(交易金额)
2021/01/07 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
Python自动登录126邮箱的方法
2015/07/10 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
Python表示矩阵的方法分析
2017/05/26 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
python使用smtplib模块发送邮件
2020/12/17 Python
Ajax和javascript的区别
2013/07/20 面试题
如何清空Session
2015/02/23 面试题
幼师求职自荐信范文
2014/01/26 职场文书
一年级数学教学反思
2014/02/01 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
供用电专业求职信
2014/07/07 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
公司停电通知
2015/04/15 职场文书
入门学习Go的基本语法
2021/07/07 Golang
详解JavaScript中Arguments对象用途
2021/08/30 Javascript