05数据结构(栈、队列、数组、链表)

发布时间 2023-10-30 13:08:57作者: ahssmy

数据结构

一、什么是数据结构

  • 计算机底层存储、组织数据的方式。
  • 是指数据相互之间是以什么方式排列在一起的。
  • 数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。
  • 一般情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
  • 如何学习数据结构:
    • 每种数据结构长什么样子?
    • 如何添加数据?
    • 如何删除数据?
  • 常见的数据结构:栈、队列、数组、链表、二叉树、二叉查找树、平衡二叉树、红黑树

二、栈

  • 栈的特点:后进先出,先进后出。

    1

    2

三、队列

  • 队列的特点:先进先出,后进后出。

    3

四、小结

  1. 栈:后进先出,先进后出。
  2. 队列:先进先出,后进后出。

五、数组

  • 数组是一种查询快增删慢的模型。
  • 查询速度快:查询数据通过地址和索引定位,查询任意数据耗时相同。(元素在内存中是连续存储的)
  • 删除效率低:要将原始数据删除,同时后面每个数据前移。
  • 添加效率极低:添加位置后的每个数据后移,再添加元素。

六、链表

4

  • 链表中的节点是独立的对象,再内存中是不连续的,每个节点包含数据值和下一个节点的地址。

  • 链表查询慢,无论查询哪个数据都要从头开始找。

    5

  • 链表增删相对快

  • 增加B:

    6

  • 删除C

    7

七、双向链表

  • 可以双向查询,提升了查询效率。

8

七、总结,各种数据结构的特点和作用是什么样子的?

  • 栈:后进先出,先进后出。
  • 队列:先进后出,后进先出。
  • 数组:内存连续区域,查询快,增删慢。
  • 链表:元素是游离的,查询慢,首位操作极快。