其他分享
首页 > 其他分享> > 2022 -8- 5 第八组 曹雨 集合

2022 -8- 5 第八组 曹雨 集合

作者:互联网

集合

前提知识:树

是n(n>=0)个结点的有限集,n=0,称为空树,反之为非空树

在任意的非空树中:
定义树的时候:
结点的度:

结点拥有子节点的数量称为结点的度。

树的深度:

树中结点的最大层数称为树的深度或高度。

二叉树:

二叉树是n个结点的有限集合,如果n=0,那就称为空二叉树。

二叉树的特点:

二叉树的性质:

二叉树的存储结构:

1.顺序存储
使用一维数组存储二叉树中的结点,并且结点的存储位置,就是数组的下标索引。
当二叉树为完全二叉树时,结点数刚好填满数组。
如果二叉树不是完全二叉树,采用顺序存储,顺序存储结构中已经出现了空间浪费的情况。
比如右斜树极端情况,采用顺序存储的方式是十分浪费空间。
顺序存储只适用于完全二叉树。

二叉树遍历:

前序遍历

从二叉树的根结点出发,按照先向左再向右的方向访问。(根左右)

后序遍历

从二叉树的根结点出发,先向左再向右的方向访问。(左右根)

中序遍历

从二叉树的根结点出发,按照先向左再向右访问。(左根右)

层次遍历

按照树的层次自上而下的遍历二叉树。ABCDEFGHIJ

二叉链表

顺序存储不能满足二叉树的存储要求,采用链式存储。二叉树的每个结点都有两个孩子。可以将结点数据结构定义成一个数据和两个指针域。数据结点:

斜树:

所有的结点都只有左子树的二叉树叫做左斜树。所有结点都是只有右子树的二叉树叫右斜树。

满二叉树:

在一颗二叉树中,如果所有分支结点都存在左子树和右子树,并且所有的叶子都在同一层上,这样的二叉树叫做满二叉树。

红黑树(HashMap重点应用):

自平衡二叉树,增加一个颜色的属性。结点的颜色只能是红色或者黑色

B-树(B树)

B-树是一种平衡多路查找树,它在文件系统中很有用。一颗m阶B-树

集合框架

集合(存放数据的容器)

使用集合的目的:更方便的储存和操作数据

集合继承结构

List,Set继承自Collection,Map不是

新增一个集合的方法

注意:
1.如果初始化集合尽量指定初始化容量,如果确定不了,默认指定为16
2.使用泛型,数据的类型时候,一定要使用引用数据类型。

 List<Integer> l1 = new ArrayList<>();
    //新增一个数据
    l1.add(1);
    //清空集合
     l1.clear();
    // 直接打印集合对象
       System.out.println(l1);

集合和数组之间的转换

数组--->集合
  int [] arr = new int[]{1,2,3,4,5};
  List<Integer> integers = Arrays.asList(1, 2, 3, 4, 5);
  List<Integer> integers1 = List.of(1, 23, 4, 5);
  List<int[]> arr1 = List.of(arr);
  System.out.println(arr1.get(0)[0]);

集合常用方法

ArrayList类常用方法
add(Object o) 在列表的末尾添加元素
add(int index, Object o) 在指定位置添加元素o,索引位置必须介于0和 列表中元素的个数之间(如果这个位置有元素,会把原有元素依次向后移动)
size() 返回集合中的元素个数(等价于:length())
get(int index) 返回指定索引处的元素
set(int index, Object o) 将index索引处的元素替换成元素o
contains(Object o) 判断列表中是否存在指定元素o
indexOf(Object o) 返回元素o在集合中的索引
remove(Object o) 从集合中删除元素o
remoce(int index) 从集合中删除索引是index处的元素
isEmptg() 判断集合是否为空
clear() 清空集合中的元素

标签:曹雨,结点,元素,List,第八,二叉树,2022,集合,节点
来源: https://www.cnblogs.com/figh466/p/16578206.html