我正在写一部基于手机的游戏。我对支持快速(如果可能的话,分摊O(1))插入,查找和删除的数据结构感兴趣。数据结构将存储来自域[0,n]的整数,其中n是提前知道的(它是常数),n相对较小(大约为100000)。
到目前为止,我已经考虑了一个整数数组,其中“ith”位设置如果集合中包含“ith”整数(所以a [0]是整数0到31,a [1]是整数32至63等)。
在c中有更简单的方法吗?
答案 0 :(得分:4)
你的想法简单而有效 - 假设你有100000/8 = 12.5 KB可以玩,那么我没有看到寻找其他解决方案的任何意义。
答案 1 :(得分:1)
平面阵列可以,但是会花费100,000比特。 另一种可能性是“哈希集”。