什么时候列表在算法上比地图更快?
When are lists algorithmically faster than maps?
我认为这是一个有效的问题,因为如果您使用以整数作为键的 Map,您的结构与列表类似。您可以使用 for 循环按顺序读取元素:
for i in 1,..., map.length():
if i in map:
doSomething(map[i])
此外,在列表中插入和读取一个元素是O(n),而在map中插入和读取是O(1)。
在什么情况下列表比映射更快?
如果我们关心代码的运行速度,在什么情况下列表严格来说不比映射差?在那种情况下我们应该总是使用地图吗?
用地图实现的列表不是更好的列表吗?
我认为从根本上说,列表是哈希映射的特定实现。出于这个原因,地图只能比列表更好。在理论上的复杂性方面。
我认为这是一个有效的问题,因为如果您使用以整数作为键的 Map,您的结构与列表类似。您可以使用 for 循环按顺序读取元素:
for i in 1,..., map.length():
if i in map:
doSomething(map[i])
此外,在列表中插入和读取一个元素是O(n),而在map中插入和读取是O(1)。 在什么情况下列表比映射更快? 如果我们关心代码的运行速度,在什么情况下列表严格来说不比映射差?在那种情况下我们应该总是使用地图吗?
用地图实现的列表不是更好的列表吗?
我认为从根本上说,列表是哈希映射的特定实现。出于这个原因,地图只能比列表更好。在理论上的复杂性方面。