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 相关文章推荐
$.ajax json数据传递方法
Nov 19 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
Sep 26 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 Javascript
你不知道的 javascript【推荐】
Jan 08 Javascript
详解Vue.js入门环境搭建
Mar 17 Javascript
在React中如何优雅的处理事件响应详解
Jul 24 Javascript
Bootstrap Table 搜索框和查询功能
Nov 30 Javascript
在vue项目中引入highcharts图表的方法
Jan 21 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
javascript实现京东登录显示隐藏密码
Aug 02 Javascript
vue3.0实现插件封装
Dec 14 Vue.js
vue里使用create, mounted调用方法
Apr 26 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实现网上点歌(二)
2006/10/09 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
深入理解PHP内核(一)
2015/11/10 PHP
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
js创建数组的简单方法
2016/07/27 Javascript
Ajax基础知识详解
2017/02/17 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
python抓取网页中图片并保存到本地
2015/12/01 Python
python利用不到一百行代码实现一个小siri
2017/03/02 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
Python读取实时数据流示例
2019/12/02 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
Python常用断言函数实例汇总
2020/11/30 Python
python 制作网站小说下载器
2021/02/20 Python
自主招生教师推荐信
2014/05/10 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
全国助残日活动总结
2015/05/11 职场文书
诚信高考倡议书
2019/06/24 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android