我有一個數據結構如下要求:對數據結構的建議!
- 帶鑰匙的幫助元素直接訪問(Key將是一個整數,範圍也相同整數的範圍)
- 避免內存分配在塊(用於分配包括數據的數據結構contigous內存)
- 應該能夠增長的數據結構的大小動態
你會建議哪個數據結構?
任何方向的指針也會有所幫助。
我有一個數據結構如下要求:對數據結構的建議!
你會建議哪個數據結構?
任何方向的指針也會有所幫助。
聽起來像一個hash table(又稱字典)我
1)稀疏陣列
2,3)堆
你基本上要實現一個堆和一個稀疏陣列共享一個大的緩衝區。通常,存儲在稀疏數組中的值是一個指針。在你的情況下,指針將相對於堆的基礎,否則稱爲偏移量。堆應位於大緩衝區中的稀疏數組之前,以便調整堆的大小不會更改偏移量。
通常情況下,這樣做是作爲一個扁平步驟完成的。換句話說,正常的散列表或稀疏陣列與系統管理指針一起使用,直到它作爲一個連續塊需要的地步。那時,所有東西都被包裝成其他格式,並在稍後再次擴展。
有趣的是你應該提到指針 – 2010-06-02 04:41:21
#2和#3似乎有衝突。任何動態增長的數據結構最終都會在內存中碎片化。 – kefeizhou 2011-04-29 20:23:01