1 个不稳定版本
0.1.0 | 2022 年 8 月 21 日 |
---|
#79 在 #linked-list
17KB
486 行
Rust 链表
本软件包旨在提供使用链表作为其底层数据结构的数据结构实现
目前实现的数据结构有
- 栈
- 函数列表
- 队列
- 双链表(待办事项)
为什么是链表?
我讨厌链表。非常讨厌。链表是糟糕的数据结构。99% 的时候你应该只使用 Vec(数组栈),而在其余 99% 的时间你应该使用 VecDeque(数组双端队列)。由于分配频率较低、较低的内存开销、真正的随机访问和缓存局部性,这些结构在大多数工作负载中都是明显优越的。
链表就像 trie 一样是一种非常狭窄和模糊的数据结构。很少有人会反对我声称 trie 是一种狭窄的结构,普通程序员在整个生产性生涯中都不会学习到——然而链表却有一些奇怪的知名度。我们教每个本科生如何编写链表。它是 C++ 中的列表!
作为社区,我们都应该拒绝链表作为一个“标准”数据结构。它是一个很好的数据结构,有几种很好的用例,但这些用例是例外,而不是常见的。
待办事项:链表
- 栈
- 函数列表
- 队列
- 双链表
- 测试
- 示例
- 文档
- 遵守 Rust Api 指南