#linked-list #stack #queue

rust_linked_list

使用链表在 Rust 中实现各种数据结构的实现

1 个不稳定版本

0.1.0 2022 年 8 月 21 日

#79#linked-list

MIT 许可证

17KB
486

Rust 链表

本软件包旨在提供使用链表作为其底层数据结构的数据结构实现

目前实现的数据结构有

  • 函数列表
  • 队列
  • 双链表(待办事项)

为什么是链表?

我讨厌链表。非常讨厌。链表是糟糕的数据结构。99% 的时候你应该只使用 Vec(数组栈),而在其余 99% 的时间你应该使用 VecDeque(数组双端队列)。由于分配频率较低、较低的内存开销、真正的随机访问和缓存局部性,这些结构在大多数工作负载中都是明显优越的。

链表就像 trie 一样是一种非常狭窄和模糊的数据结构。很少有人会反对我声称 trie 是一种狭窄的结构,普通程序员在整个生产性生涯中都不会学习到——然而链表却有一些奇怪的知名度。我们教每个本科生如何编写链表。它是 C++ 中的列表!

作为社区,我们都应该拒绝链表作为一个“标准”数据结构。它是一个很好的数据结构,有几种很好的用例,但这些用例是例外,而不是常见的。

待办事项:链表

  • 函数列表
  • 队列
  • 双链表
  • 测试
  • 示例
  • 文档
  • 遵守 Rust Api 指南

无运行时依赖