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奇异的arguments分析
Oct 20 Javascript
纯JS实现的批量图片预览加载功能
Aug 14 Javascript
JavaScript中的细节分析
Jun 30 Javascript
Js如何判断客户端是PC还是手持设备简单分析
Nov 22 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
Dec 18 Javascript
解决ztree搜索中多级菜单展示不全问题
Jul 05 Javascript
Node.js+Express+MySql实现用户登录注册功能
Jul 10 Javascript
简单快速的实现js计算器功能
Aug 17 Javascript
浅谈Node模块系统及其模式
Nov 17 Javascript
Vue通过provide inject实现组件通信
Sep 03 Javascript
Vant 在vue-cli 4.x中按需加载操作
Nov 05 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 4.2书写安全的脚本
2006/10/09 PHP
最省空间的计数器
2006/10/09 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
JQuery 学习技巧总结
2010/05/21 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
在Django的session中使用User对象的方法
2015/07/23 Python
python 对key为时间的dict排序方法
2018/10/17 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
小学教师师德感言
2014/02/10 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
感动中国何玥观后感
2015/06/02 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python