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 相关文章推荐
js有关元素内容操作小结
Dec 20 Javascript
js实现遮罩层划出效果是生成div而不是显示
Jul 29 Javascript
深入学习JavaScript对象
Oct 13 Javascript
浅谈js中对象的使用
Aug 11 Javascript
js实现背景图自适应窗口大小
Jan 10 Javascript
JavaScript字符集编码与解码详谈
Feb 02 Javascript
jQuery弹出窗口简单实现代码
Mar 09 Javascript
基于vue2.0+vuex的日期选择组件功能实现
Mar 13 Javascript
详谈js遍历集合(Array,Map,Set)
Apr 06 Javascript
js原生代码实现轮播图的实例讲解
Jul 28 Javascript
js使用swiper实现层叠轮播效果实例代码
Dec 12 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 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上传图片、删除图片实现代码
2010/05/12 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
js实现的标题栏新消息闪烁提示效果
2014/06/06 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
Python模拟百度登录实例详解
2016/01/20 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
django+echart数据动态显示的例子
2019/08/12 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
django项目中新增app的2种实现方法
2020/04/01 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
三星美国官网:Samsung美国
2017/02/06 全球购物
周年庆促销方案
2014/03/15 职场文书
服务员岗位职责
2015/02/03 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL