一、
1.
数据结构:是计算机底层存储、组织数据的方式,是指数据相互之间是以什么方式排列在一起的
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率
2.
常见的数据结构:栈 队列 数组 链表 二叉树 二叉查找树 平衡二叉树 红黑树
二、
1.
栈数据结构的执行特点:
后进后出、先进后出
数据进入栈模型的过程称为:压/进栈
数据离开模型的过程称为:弹/出栈
(栈底元素) (栈顶元素)
数据从后端进入队列模型的过程称为:入队列
数据从前端进入列模型的元素称为:出队列
2.
数组:查询数据通过地址值和索引定位,查询任意数据耗时相同(元素在内存中是连续存储的)
删除效率低:将原始数据删除,同时后面的每个数据前移
添加效率极低:添加位置后的每个数据后移,再添加元素
3.
链表:链表中的元素是在内存中不连续存储的,每个元素节点包含数据值和下一个元素的地址
链表中的元素是游离存储的,每个元素节点包含数据值和下一个元素的地址
链表查询慢,无论查询哪个数据都要从开始找
链表增删相对快,存在着:单链表 双链表
4.
二叉树、二叉查找树
二叉树的特点:只能有一个根节点,每个节点最多支持2个直接子节点
节点的度:节点拥有的子树的个数,二叉树的度不大于2叶子节点度为0的节点,也称之为终端节点
高度:叶子节点的高度为1 ,叶子节点的父节点高度为2 ,以此类推,根节点的高度最高
层:根节点在第一层,以此类推
兄弟节点:拥有共同父节点的节点称为兄弟节点
<2>
平衡二叉树:二叉树查找存在问题,出现瘸子现象,导致查询的性能与单链表一样,查询速度慢
平衡二叉树是在满足查找二叉树的大小规则下,让树尽可能矮小,以此来提高查数据的性能
平衡二叉树的要求:任意节点的左右两个子树相当于高度差不超过1,任意节点的左右两个子树都是一颗平衡二叉树
<3>
红黑树:红黑树是一种自平衡的二叉查找树,是计算机科学中用到的一种数据结构,1972年出现,当时被称之为平衡二叉B树,1978年又称为红黑树
每一个节点可以是红或者黑,红黑树不是通过高度平衡的,它的平衡是通过红黑规则进行实现的
三、
各种数据解后的特点和作用是什么样的?
队列:先进先出,后进后出
栈:后进后出,先进后出
数组:内存连续区域,查询快,增删慢
链表:元素是游离的,查询慢,首尾操作极快
二叉树:永远只有一个根节点,每个节点不超过2个子节点的树
查找二叉树:小的左边,大的右边,但是可能树很高,查询性能变差
平衡查找二叉树:让树的高度差不大于1,增删改查都提高了
红黑树:就是基于红黑规则实现了自平衡的排序二叉树