2、数据结构与数据库基础详解

数据结构与数据库基础详解

1. 数据结构

1.1 队列(Queue)

队列是一种与栈类似的结构,但采用“先进先出”(FIFO)的操作方法。它可以很容易地用数组实现,但需要两个指针来指示队列的起始和结束位置。

例如,向队列中插入 5 个值后,队列状态如下(此处以示意说明,实际可能以图形展示):
| 索引 | 值 |
| ---- | ---- |
| 0 | 值 1 |
| 1 | 值 2 |
| 2 | 值 3 |
| 3 | 值 4 |
| 4 | 值 5 |

如果从这个队列中移除 3 个值,队列状态会变为:
| 索引 | 值 |
| ---- | ---- |
| 0 | 无 |
| 1 | 无 |
| 2 | 无 |
| 3 | 值 4 |
| 4 | 值 5 |

需要注意的是,队列存储是循环的,所以第四次添加的值会出现在索引 0 的位置。

队列和栈在计算机内部都有应用。栈记录中断驱动操作系统在被中断前正在执行的操作,以便按顺序恢复;队列则记录事件驱动操作系统等待处理的消息。

1.2 链表(Linked List)

数组在数据发生变化时需要不断重写内存,为解决这个问题,除了使用索引,还可以使用链表。

链表是一种抽象的数据结构,其中物理结构和逻辑结构几乎不可能相同(空列表除外)。链表引入了数据元素的概念,最简单的情况下,它是一对值:数据值和指针值。指针值保存列表中下一个元素的索引。此外,还需要三个指针:一个指向列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值