【发布时间】:2011-03-05 11:19:54
【问题描述】:
最近我遇到了 SkipList 数据结构。它确实帮助我解决了一个原本难以解决的问题。我一直在努力使用平衡二叉树来解决它,但它变得非常复杂,因为树需要始终保持平衡,我不仅想知道特定值的存在,而且还想知道某个范围内的值。 SkipList 帮助我有效地解决了这个问题。
我想知道我还需要了解哪些其他数据结构?我知道 - 数组、列表、堆栈、队列、链表、哈希表、树及其不同的形式,如 B-tree、Trie 等。 想知道您是否发现其他一些有趣且在常规开发周期中有用的数据结构/概念。
【问题讨论】:
-
您使用哪种语言必须自己构建这些东西?很高兴知道这些东西,但我会避免自己编写它,尤其是对于生产代码。
-
我正在使用 Java 和 C++。我为 SkipList 使用了一些库,但我一开始并不知道它们,这让我很不舒服。