资讯专栏INFORMATION COLUMN

二叉树js的生成

anyway / 2821人阅读

摘要:二叉树的生成二叉树的概念二叉树概念及相关操作本文是顺序二叉树及其操作的实现,非顺序二叉树应该也差不多,这里没有实现基本二叉树的实现添加元素查找元素删除元素具体使用方法

二叉树的js生成

二叉树的概念
二叉树概念及相关操作

本文是顺序二叉树及其操作的js实现,非顺序二叉树应该也差不多,这里没有实现

//基本二叉树的实现
function BT(){
  this.root=null;
  this.Node=function(e){
    this.value=e;
    this.left=null;
    this.right=null;
  }
  //添加元素
  this.insert=function(e){
    function recursiveAdd(tem,e){
      if(e.valuetem.value){
            tem=tem.right;
            recursiveFind(tem,e)
          }
        }
      }
    }
    e=new this.Node(e);
    if(this.root==null){
      return;
    }else{
      TEM=this.root;
      recursiveFind(TEM,e);
    }
  }
  //删除元素
  this.delete=function(e){
    function recursiveDelete(tem,e){
      if(e.valuetem.value){
          if(tem.right==null){
            return;
          }else{
            if(tem.right.value==e.value){
              tem.right=null;
              return;
            }else{
              tem=tem.right;
              recursiveDelete(tem,e)
            }
          }
        }
      }
    }
    e=new this.Node(e);
    if(this.root==e){
      this.root=null;
    }else{
      TEM=this.root;
      recursiveDelete(TEM,e);
    }
  }
}

具体使用方法

var obj = new BT();
console.time("insertTest");
obj.insert(55);
obj.insert(44);
obj.insert(33);
obj.insert(22);
obj.insert(66);
obj.insert(77);
obj.insert(88);
obj.insert(60);
obj.insert(58);
obj.insert(63);
obj.insert(57);
obj.insert(56);
console.timeEnd("insertTest");
console.time("findTest");
obj.find(63);
console.timeEnd("findTest");
console.time("deleteTest");
obj.delete(57);
console.timeEnd("deleteTest");

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81372.html

相关文章

  • 叉树生成字符串,字符串生成叉树

    摘要:通常的方式,都是二叉树生成字符串字符串生成二叉树,遵循二叉树的递归生成字符串的方式进行遍历。碰到终止标志,才终止深度递归转向另一个方向。原因字符串的遍历方式,除了顺序遍历方式,也可以采用递归便利方式,遵循递归的规律。 通常的方式,都是二叉树生成字符串字符串生成二叉树,遵循二叉树的递归生成字符串的方式进行遍历。 1.二叉树先序遍历,可以保证按照容易理解的角度从上到下进行遍历,显...

    jayce 评论0 收藏0
  • js数据结构和算法(三)叉树

    摘要:同样结点树的二叉树,完全二叉树的深度最小。二叉树每个结点最多有两个孩子,所以为它设计一个数据域和两个指针域是比较自然的想法,我们称这样的链表叫做二叉链表。 二叉树的概念 二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。 showImg(https://seg...

    DesGemini 评论0 收藏0
  • 使用JavaScript完成叉树一些基本操作

    摘要:另外,由于篇幅有限,本篇的重点在于二叉树的常见算法以及实现。常见的二叉树实现代码之前写过相关的文章,是关于如何创建及遍历二叉树的,这里不再赘述。同时我们注意到,在二叉树深度比较大的时候,我们光是比较左右是不够的。 本篇为复习过程中遇到过的总结,同时也给准备面试的同学一份参考。另外,由于篇幅有限,本篇的重点在于二叉树的常见算法以及实现。 常见的二叉树实现代码 之前写过相关的文章,是关于如...

    YPHP 评论0 收藏0
  • js数据结构-叉树二叉搜索树)

    摘要:前言可能有一部分人没有读过我上一篇写的二叉堆,所以这里把二叉树的基本概念复制过来了,如果读过的人可以忽略前面针对二叉树基本概念的介绍,另外如果对链表数据结构不清楚的最好先看一下本人之前写的数据结构链表二叉树二叉树是一种树形结构,它的特点是 前言 可能有一部分人没有读过我上一篇写的二叉堆,所以这里把二叉树的基本概念复制过来了,如果读过的人可以忽略前面针对二叉树基本概念的介绍,另外如果对链...

    codeKK 评论0 收藏0
  • js数据结构-叉树二叉堆)

    摘要:二叉树二叉树是一种树形结构,它的特点是每个节点最多只有两个分支节点,一棵二叉树通常由根节点,分支节点,叶子节点组成。 二叉树 二叉树(Binary Tree)是一种树形结构,它的特点是每个节点最多只有两个分支节点,一棵二叉树通常由根节点,分支节点,叶子节点组成。而每个分支节点也常常被称作为一棵子树。 showImg(https://segmentfault.com/img/bVbmEd...

    ningwang 评论0 收藏0

发表评论

0条评论

anyway

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<