【发布时间】:2018-02-13 18:06:47
【问题描述】:
我想知道最好的算法,在该算法中,我可以根据键(范围从 0 到 2 次方 32)创建“排序”列表,并在嵌入式设备中需要时按排序顺序遍历它们。我知道可能的选择,即
排序的链接列表 随着链表中节点数量的增加,在链表中搜索正确节点以进行插入/更新操作需要更多时间 O(n)
哈希 可能是当前的最佳选择,除非我们没有与散列逻辑发生冲突
尺寸 2 幂 32 的表 浪费空间
还有其他适合在嵌入式设备中使用的最佳替代方案吗?
【问题讨论】:
-
能不能在收集完所有条目后进行排序,还是需要在每个条目添加后对集合进行排序?
-
答案是:视情况而定。立即想到的是,您只需将所有内容存储在一个数组中(节省空间),然后在遍历之前进行排序(对于整数,O(N))。
-
它还取决于集合的预期(最大)大小。真的能增长到 20 亿吗?
-
这个问题似乎已经死了。我的回答有帮助吗?
标签: algorithm hash linked-list