数据结构基础--数组、链表、栈、队列、哈希表

之前是学过的,但是快忘了,跟着《漫画算法》重新学一遍。

物理结构

  • 数组
  • 链表
    是数据结构的根基

1.数组

  • 军队,有序存储,占据一片连续内存
  • 用下标查询方便,插入删除麻烦,适合多读少写

2.链表

  • 地下党,无序存储,在内存见缝插针
  • 查询麻烦,需要从头开始依次查找;插入删除方便,适合少读多写

逻辑结构(线性)

  • 队列
  • 哈希表(散列表)

1.栈

羽毛球盒,先进后出,适合用来返回上一步(回溯),比如用于迷宫寻路,这一步走不通返回上一步尝试另一个方向

2.队列

隧道,先进先出,适合用来按照之前顺序依次操作,排队,先来的先处理

3.哈希表

字典,使用数组进行保存,数组下标通过哈希函数与其对应的关键字Key对应。当多个key对应一个下标时,说“发生哈希冲突”,可通过开放寻址或者链表法解决

原文地址:https://www.cnblogs.com/j-c-y/p/11540764.html