数据结构
一、什么是数据结构
- 计算机底层存储、组织数据的方式。
- 是指数据相互之间是以什么方式排列在一起的。
- 数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。
- 一般情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
- 如何学习数据结构:
- 每种数据结构长什么样子?
- 如何添加数据?
- 如何删除数据?
- 常见的数据结构:栈、队列、数组、链表、二叉树、二叉查找树、平衡二叉树、红黑树
二、栈
-
栈的特点:后进先出,先进后出。
三、队列
-
队列的特点:先进先出,后进后出。
四、小结
- 栈:后进先出,先进后出。
- 队列:先进先出,后进后出。
五、数组
- 数组是一种查询快增删慢的模型。
- 查询速度快:查询数据通过地址和索引定位,查询任意数据耗时相同。(元素在内存中是连续存储的)
- 删除效率低:要将原始数据删除,同时后面每个数据前移。
- 添加效率极低:添加位置后的每个数据后移,再添加元素。
六、链表
-
链表中的节点是独立的对象,再内存中是不连续的,每个节点包含数据值和下一个节点的地址。
-
链表查询慢,无论查询哪个数据都要从头开始找。
-
链表增删相对快
-
增加B:
-
删除C
七、双向链表
- 可以双向查询,提升了查询效率。
七、总结,各种数据结构的特点和作用是什么样子的?
- 栈:后进先出,先进后出。
- 队列:先进后出,后进先出。
- 数组:内存连续区域,查询快,增删慢。
- 链表:元素是游离的,查询慢,首位操作极快。