V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tyroshu
V2EX  ›  问与答

请问各位,有序数组中如何寻找某一特定值,除了二分以外的算法,有类似的时间复杂度?

  •  
  •   tyroshu · 191 天前 · 718 次点击
    这是一个创建于 191 天前的主题,其中的信息可能已经有所发展或是发生改变。
    碰到这个问题,一头雾水
    9 条回复    2021-04-16 21:46:46 +08:00
    beichenhpy
        1
    beichenhpy   191 天前
    当然是哈希表啦
    abersheeran
        2
    abersheeran   191 天前
    跳表。
    suiterchik
        3
    suiterchik   191 天前
    如果数据结构限定为有序数组,那么对数据分布无先验信息的情况下,二分查找应该是效率最高的
    如果有先验的话,可以将二分查找改进为插值查找或者斐波那契查找
    raaaaaar
        4
    raaaaaar   191 天前 via Android
    都有序数组了还 HASH 啥,二分挺快了呀,为什么不用
    ch2
        5
    ch2   191 天前   ❤️ 2
    茴字几种写法?将来当面试官的时候装逼要用?
    ipwx
        6
    ipwx   191 天前
    虽然二分查找和很多其他算法一样都是 O(log N),但是它常数很无敌的。。。

    除非你的需求是多次查找,可能会有均摊小于 O(log N) 的辅助数据结构。
    thedrwu
        7
    thedrwu   190 天前 via Android
    三分
    tyroshu
        8
    tyroshu   190 天前
    @ch2 是被面试官问到了。。。。
    tyroshu
        9
    tyroshu   190 天前
    @suiterchik 感谢大佬
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1880 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:27 · PVG 00:27 · LAX 09:27 · JFK 12:27
    ♥ Do have faith in what you're doing.