我的array
大小10^5
。说array[100000]
。
我必须将数据插入到该数组中,就像索引一样,以便快速检索。比如array[index] = value
。
即,第124个元素[123 index]有一些数字23423423作为值,所以我把
array[123] = 23423423;
这样我就可以使用索引123
来引用该值。
现在的问题是我有一些索引值高达10^9
但数组大小不能容纳那么大的数字,所以是否有任何方法可以将所有索引和值放入数组中。
我用C作为我的语言。
答案 0 :(得分:0)
如果只在表中添加新值,并且从不删除,则可以使用多项哈希表。请参阅我对此的实现:http://olegh.cc.st/src/words.c.txt 实现了“双重散列”算法(某种多重缓冲)。
它是为了另一个目的而写的,是表格中的文字,而不是数字。 但我认为,您可以轻松地为您的任务自定义此代码。