【发布时间】:2011-06-10 21:02:16
【问题描述】:
我开始阅读《算法设计手册》,在阅读时遇到了一条我没有理解的内容。有人可以澄清一下作者在这里的意思吗?该行是:
有序链表或数组——维护一个有序链表通常是 除非您试图消除重复项,否则不值得付出努力,因为我们 不能在这样的数据结构中执行二进制搜索。排序后的数组将 当且仅当插入或删除的次数不多时才合适。
这一行与为字典选择数据结构有关。 我不明白的一点是,为什么作者说“维护一个排序的链表通常是不值得的,除非你试图消除重复,因为我们 不能在这样的数据结构中进行二分查找"
据我了解,我在 Google 上搜索是否可以对已排序的数组进行二分搜索,并且根据我发现的情况,我们似乎可以。所以我不确定。
有人可以帮我理解一下吗?
非常感谢。
【问题讨论】:
-
链表与数组不同。您可以对数组进行二分搜索,因为数组允许所谓的“随机访问”,而链表只允许“顺序访问”。
-
感谢您的解释。这是有道理的。 :-)
标签: algorithm data-structures dictionary