我有一个数据结构如下要求:对数据结构的建议!
- 带钥匙的帮助元素直接访问(Key将是一个整数,范围也相同整数的范围)
- 避免内存分配在块(用于分配包括数据的数据结构contigous内存)
- 应该能够增长的数据结构的大小动态
你会建议哪个数据结构?
任何方向的指针也会有所帮助。
我有一个数据结构如下要求:对数据结构的建议!
你会建议哪个数据结构?
任何方向的指针也会有所帮助。
听起来像一个hash table(又称字典)我
1)稀疏阵列
2,3)堆
你基本上要实现一个堆和一个稀疏阵列共享一个大的缓冲区。通常,存储在稀疏数组中的值是一个指针。在你的情况下,指针将相对于堆的基础,否则称为偏移量。堆应位于大缓冲区中的稀疏数组之前,以便调整堆的大小不会更改偏移量。
通常情况下,这样做是作为一个扁平步骤完成的。换句话说,正常的散列表或稀疏阵列与系统管理指针一起使用,直到它作为一个连续块需要的地步。那时,所有东西都被包装成其他格式,并在稍后再次扩展。
有趣的是你应该提到指针 – 2010-06-02 04:41:21
#2和#3似乎有冲突。任何动态增长的数据结构最终都会在内存中碎片化。 – kefeizhou 2011-04-29 20:23:01