一个树结构包含一系列存在父子关系的节点。位于树的顶部的节点叫做根节点,是0层,之后的子节点的层数往下逐层增加,一个节点可以有祖先和后代,节点的一个属性是深度,其父节点的个数为其深度,和层数相同。

二叉搜索树

二叉搜索树是二叉树的一种,它只允许在左侧的节点存储比父节点小的值,在右侧存储比父节点大或等于的值。构建一个二叉搜索树的函数:

function BinarySearchTree(){

  var Node=function(key){

    this.key=key;

    this.left=null;

    this,right=null;

  };

  var root=null;

  //插入一个键

  this.insert=function(key){

    var newNode=new Node(key);

    if(root===null);{

      root=newNode;

    }else{insertNode(root,newNode);}

  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)}

    }

  };

}

以上完成了一个简单的 二叉搜索树,对于他的排序在下一篇中进行讲解,以上是学习的过程,如有错误的地方欢迎大佬批评指教。

 

posted @ 2018-07-30 20:10  catchup  阅读(115)  评论(0编辑  收藏  举报