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 相关文章推荐
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
Feb 03 Javascript
js实现具有高亮显示效果的多级菜单代码
Sep 01 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
Mar 10 Javascript
AngularJS2中一种button切换效果的实现方法(二)
Mar 27 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
Nov 02 Javascript
微信小程序实现文字跑马灯效果
May 26 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
Aug 07 Javascript
vue.js template模板的使用(仿饿了么布局)
Aug 13 Javascript
使用pkg打包Node.js应用的方法步骤
Oct 19 Javascript
JS实现烟花爆炸效果
Mar 10 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
Nov 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使HTML标签自动补全闭合函数代码
2012/10/04 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
JS判断数组那点事
2017/10/10 Javascript
浅谈Node.js之异步流控制
2017/10/25 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
Python的Bottle框架中获取制定cookie的教程
2015/04/24 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
英语系本科生个人求职信
2013/09/21 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
cf收人广告词
2014/03/14 职场文书
亲子活动总结
2014/04/26 职场文书
离职报告范文
2014/11/04 职场文书