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动态移动滚动条至底部示例代码
Apr 24 Javascript
Vue获取DOM元素样式和样式更改示例
Mar 07 Javascript
vue实现todolist单页面应用
Apr 11 Javascript
浅谈react+es6+webpack的基础配置
Aug 09 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
Sep 18 Javascript
AngularJS中下拉框的高级用法示例
Oct 11 Javascript
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
微信小程序项目总结之点赞 删除列表 分享功能
Jun 25 Javascript
vue打包使用Nginx代理解决跨域问题
Aug 27 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
Oct 28 Javascript
原生js实现拖拽移动与缩放效果
Aug 24 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 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注销代码(session注销)
2012/05/31 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
php遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
jQuery对象[0]是什么含义?
2010/07/31 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
python实现对excel进行数据剔除操作实例
2017/12/07 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
python自定义函数def的应用详解
2020/06/03 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
经理职责范文
2013/11/08 职场文书
公务员转正考察材料
2014/02/07 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
2014年党课学习材料
2014/05/11 职场文书
环保守法证明
2015/06/24 职场文书
离职告别感言
2015/08/04 职场文书
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android