当前位置: 首页 > 面试题库 >

哪个更快,为什么?设置还是列出?

左丘积厚
2023-03-14
问题内容

可以说我有一个图,想看看是否b in N[a]。哪个实施速度更快,为什么?

a, b = range(2)
N = [set([b]), set([a,b])]

要么

N= [[b],[a,b]]

显然,这过于简单了,但可以想象该图变得非常密集。


问题答案:

集合中的成员资格测试要快得多,尤其是对于大型集合。这是因为该集合使用哈希函数来映射到存储桶。由于Python实现会自动调整该哈希表O(1)的大小,因此无论集合的大小如何,速度都可以保持恒定()(假设哈希函数足够好)。

相反,要评估对象是否为列表的成员,Python必须比较每个单个成员的相等性,即测试为O(n)



 类似资料:
  • 问题内容: 如果您的目标是测试MySQL列中是否存在字符串(类型为’varchar’,’text’,’blob’等),那么以下哪一项是更快/更有效/更好地使用,为什么? 或者,还有其他方法可以胜任这些方法吗? 与 问题答案: 正如kibibu在上述评论中指出的,FULLTEXT搜索绝对会更快。 但是 : 在我的测试中,它们的表现完全相同。它们都不区分大小写,并且通常会执行全表扫描,这在处理高性能M

  • 我开始学习基于令牌的身份验证,并尝试学习如何在Laravel5中实现它。我遇到了两种非常流行的技术来实现这一点,但我感到困惑,因为我对这两种技术都是新手。 Medium的这篇文章说我应该使用LucadeGasperi/oauth2-server-laravel,从Github上的明星数量和引向它的引用数量来看,我确信它在社区中是一个非常受欢迎的包。这一个应该帮助我实现OAuth。 谁能给我指出每一

  • 我想知道>是否比>=更快?我试着对其进行基准测试,但要么需要0ms,要么需要永远。我知道差别会很小,但我必须在很多像素上操作。有人能告诉我什么更快吗?

  • 这是一位高级经理问的面试问题。 哪个更快? 我说过,这两者具有相同的执行速度,因为内部的表达式最终应计算为或。在这种情况下,两者的计算结果都为,条件中没有额外的条件指令。因此,两者的执行速度相同,我更喜欢while(1)。 但面试官自信地说:“检查一下你的基础,比要快。”(他不是在考验我的信心) 这是真的吗?

  • 问题内容: 我知道我们可以进行相关的子查询并加入。但是哪一个更快?有黄金法则还是我必须同时衡量这两者? 问题答案: 首先,相关子查询实际上是联接的一种。关于哪一个产生最佳执行计划没有黄金法则。如果您对性能感兴趣,则需要尝试不同的表格以查看最有效的方法。或者,至少,看看执行该决定的执行计划。 通常,出于两个原因,我倾向于避免关联子查询。首先,几乎总是可以在没有相关性的情况下编写它们。其次,许多查询引

  • 问题内容: 我正在使用iPad HTML5应用程序,并且已经实现了ontouch支持以更快地触发事件,并且我使用jQuery来更轻松地定位元素,但是对于动画,我使用的是CSS3过渡 您觉得更快吗?使用jQuery动画,因为我已经导入了库或在使用jQuery定位元素时使用CSS3过渡? 问题答案: jQuery动画要比CSS动画慢得多。 原因 可能是因为jquery必须使用计时器和循环来修改DOM元