首页 > 编程学习 > 033——常见数据结构

033——常见数据结构

发布时间:2022/11/6 8:40:57

img

常见数据结构

img

1. 数据结构概述、栈、队列

1.1数据结构概述

数据结构是计算机底层存储、组织数据的方式。是指数据相互之间是以什么方式排列在一起的。
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率

1.2栈数据结构的执行特点

后进先出,先进后出

img

img

img

img

1.3常见数据结构之队列

先进先出,后进后出

img

img

img

img

img

2.数组

2.1常见数据结构之数组

img

2.2特点

img

3. 链表

3.1 链表的特点

链表中的元素是在内存中不连续存储的,每个元素节点包含数据值和下一个元素的地址。
链表查询慢。无论查询哪个数据都要从头开始找
链表增删相对快

img

img

img

img

3.2 链表的种类

  1. 单向链表
  2. 双向链表

img

4. 二叉树、 二叉查找树

4.1 二叉树概述

img

4.2 二叉树的特点

img

img

4.3 二叉树查找树添节点

img

5. 平衡二叉树

5.1 二叉树查找存在的问题:

img

5.2 数据结构-平衡二叉树

平衡二叉树是在满足查找二叉树的大小规则下,让树尽可能矮小,以此提高查数据的性能。

img

5.3 平衡二叉树的要求

任意节点的左右两个子树的高度差不超过1,任意节点的左右两个子树都是一颗平衡二叉树
img

5.4 平衡二叉树在添加元素后可能导致不平衡

基本策略是进行左旋,或者右旋保证平衡。

img

5.5 平衡二叉树-旋转的四种情况

  • 左左
  • 左右
  • 右右
  • 右左

5.6 平衡二叉树-左左

左左 : 当根节点左子树的左子树有节点插入,导致二叉树不平衡

img

img

img

img

img

img

img

img

5.7 平衡二叉树-右右

右右: 当根节点右子树的右子树有节点插入,导致二叉树不平衡

img

img

img

img

img

img

img

6. 红黑树

6.1 红黑树概述

红黑树是一种自平衡的二叉查找树,是计算机科学中用到的一种数据结构。
1972年出现,当时被称之为平衡二叉B树。1978年被修改为如今的"红黑树"。
每一个节点可以是红或者黑;红黑树不是通过高度平衡的,它的平衡是通过“红黑规则”进行实现的。

img

6.2 红黑规则

每一个节点或是红色的,或者是黑色的,根节点必须是黑色。
如果某一个节点是红色,那么它的子节点必须是黑色(不能出现两个红色节点相连的情况)。
对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点。

img

6.3 添加节点

添加的节点的颜色,可以是红色的,也可以是黑色的。
默认用红色效率高。

img

img

img

img

img

img

img

img

img

img

img

img

img

6.4 红黑树小结

红黑树不是高度平衡的,它的平衡是通过"红黑规则"进行实现的

6.5 规则如下:

img

各种数据结构的特点和作用是什么样的

img

舞台再大 ,你不上台 ,永远是个观众 , 平台再好 , 你不参与 ,永远是局外人 , 能力再大 , 你不行动 , 只能看别人成功 , 没有人会关心你付出过多少努力 , 撑得累不累 , 摔得痛不痛 , 他们只会看见你最后站在什么位置 , 然后羡慕和鄙夷。
图片转存中…(img-1zAbuzLi-1667692489674)]

各种数据结构的特点和作用是什么样的

[外链图片转存中…(img-JBNQfgs3-1667692489674)]

舞台再大 ,你不上台 ,永远是个观众 , 平台再好 , 你不参与 ,永远是局外人 , 能力再大 , 你不行动 , 只能看别人成功 , 没有人会关心你付出过多少努力 , 撑得累不累 , 摔得痛不痛 , 他们只会看见你最后站在什么位置 , 然后羡慕和鄙夷。

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式