慕课网学习之Javascript实现二叉树算法

一、二叉树算法及代码实现

1、Javascript和数据结构
程序=算法+数据结构

单步调试:

2、二叉树定义的原理说明
排序二叉树:

左孩子的值小于父亲结点的值,右孩子的值大于父亲结点的值。

代码实现:
<script>
   function BinaryTree(){
    var Node=function(key){
     this.key;//结点的数值
     this.left=null;//结点的左箭头
     this.right=null;//结点的右箭头
     
    };
    var root=null;//根结点
    var insertNode=function(node,newNode){
     if(newNode.key<node.key){
      if(node.left===null){
       node.left=newNode;
      }else{
       insertNode(node.left,newNode);
      }
     }else{
      if(node.right===null){
        node.right=newNode;
      }else{
       insertNode(node.right,newNode);
      }
     }
     
    };
    this.insert=function(key){
     var newNode=new Node(key);
     if(root===null){//如果此时根是空的
      root=newNode;//root为根结点
     }else{
      insertNode(root,newNode);//根据二叉树特点进行插入
     }
    };
   }
   
   var nodes=[8,3,10,1,6,14,4,7,13];//要插入的结点数组
   var binaryTree=new BinaryTree();
   nodes.forEach(function(key){//遍历插入结点
    binaryTree.insert(key);
   });
  </script>

3、中序遍历
左中右


阅读更多
想对作者说点什么? 我来说一句

慕课网C语言基础

2017年11月23日 116KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭