gpt4 book ai didi

haskell - 在 Haskell 中使用二分搜索更快 `elem`

转载 作者:行者123 更新时间:2023-12-02 18:29:58 24 4
gpt4 key购买 nike

我有一个 Text 列表,它们按排序顺序排列。在我看来,我可以通过将其实现为二分搜索而不是线性搜索来编写更快的 elem 版本。这样的版本已经存在了吗?

最佳答案

Haskell 的列表是作为链接列表实现的,这意味着对任意第 i 个元素的访问都在 O(i) 内。在正常使用情况下,列表的 elem 二进制搜索版本比标准版本需要更多时间(请参阅下面 @DanielFischer 的评论)。

您可能希望使用不同的容器,例如 Data.SetData.Map ,它们被实现为平衡二叉树,这为您提供了 O(log n) 访问时间(其中 n 是映射/集合中的元素数量)。

关于haskell - 在 Haskell 中使用二分搜索更快 `elem`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10188276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com