代码之家  ›  专栏  ›  技术社区  ›  codeofnode

在O(1)时间内搜索可能吗?

  •  1
  • codeofnode  · 技术社区  · 12 年前

    我有一个对象列表, objectList ,其中每个对象都有几个属性其中之一是 myUniqueNo 我的唯一编号 是每个对象的随机整数。我有一个整数,比如说, n .我确信在 对象列表 肯定有一个对象具有 我的唯一编号 n个 。我想将具有“myUniqueNo”的对象返回为 n个 .Java中是否有任何O(1)算法或简单的方法来返回此对象?

    1 回复  |  直到 11 年前
        1
  •  5
  •   templatetypedef    12 年前

    这方面的典型方法是有一个辅助 HashMap 从对象映射到列表中的位置。哈希表提供了预期的摊销O(1)查找,但如果您尝试从列表中间删除项,则必须执行额外的O(n)工作才能更新哈希表条目。

    希望这能有所帮助!