二叉树的概念

树概念

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。

 

二叉树概念

一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和 右子树的二叉树组成。

<script>
    //创建二叉树的节点
    //二叉树包含:自身数据(data),左节点(left),有节点(right),显示自己的数据(show)。
    function str(data,left,right){
        this.data=data;
        this.left=left;
        this.right=right;
        this.show=show;
    }

    //声明二叉树的构造函数
    //二叉搜索树(binary search tree),也叫二叉排列数
    function skr(){
        this.root=null;//默认根节点为null
        this.insert=insert;//插入操作
        this.inOrder=inOrder;//中序遍历
        this.getMin=getMin;//找出最小值
        this.getMax=getMax;//找出最大值
        this.find=find;//找出指定数据
 }
</script>
</html>

二叉树的特点:

     1.每个结点最多有两棵子树,即二叉树不存在度大于2的结点。

     2.二叉树的子树有左右之分,其子树的次序不能颠倒,因此二叉树是有序树

     Set数据结构属性和方法

  1.属性: s.size // set成员总数

  2.方法:
  操作方法(操作数据):

<script>
    //Es6提供了新的数据类型Set。
    
    //创建Set数据结
     // const s1 = new Set() 
     // Set函数可以接收一个数组作为参数,用来初始化。
     const a=new Set([1,2,3,4,5])
     console.log(a);
     console.log(a.size);

     //利用Set进行数组去重
     let arr =[1,22,33,44,55]
     let set=new Set(arr)
     console.log(set);
     console.log([...set]);
</script>
</html>

ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值

set结构的实例和数组一样,也具有forEach方法,用于对每个成员执行某种操作,没有返回值

Set的增删改查

4个操作方法:

add(value):添加某个值,返回 Set 结构本身。

delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除所有成员,没有返回值。

<script>
    const set =new Set();

    //向set结构中添加值 使用add方法
     set.add('a').add('b')
     console.log(set.size);
     console.log(set);

     //从set结构中删除值 用的方法是delete
     const result=set.delete('a')
     console.log(set.size);
     console.log(set);

     //判断一个值是否是Set结构的成员 用的方法是has
      const set1= set.has('d'); 
      console.log(set1)//输出true

      //从set结构中清空成员 用的方法是clear
      set.clear()
      console.log(set.size);
</script>
</html>

效果图:

Set数据结构的遍历

Set结构的实例有4个遍历方法,可以用于遍历成员。

keys():返回键名的遍历器

values():返回键值的遍历器

entries():返回键值对的遍历器

forEach():使用回调函数遍历每个成员

Set结构的实例默认是可遍历,它的默认遍历器生成函数就是它的values方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值