2012-10-15 35 views
-1

我只是好奇,正在研究可能代表具有隨機訪問和快速二維傳播的非常大的二維「字段」的數據結構。大型二維數據的數據結構

這個想法是代表物理學領域的概念,它本質上是一個非常大的二維無限小點的數組。任何對點值的改變都會修改其鄰居的值等。

如何有效地表示這些數據?

+0

什麼是「非常大」?如果它不適合內存 - 您不會隨機訪問 - 儘可能多地嘗試(除非您可以將它壓縮到適合內存) – amit

+0

好吧,整個事情可以被哈希或者製作成kd樹或其他數據結構。這個問題只是一個概念數據結構,而不是擔心實施 – WindowsMaker

回答

1

與其說是一個答案作爲擴展註釋:

我平了你的聲明物理學[]中的一個字段的概念,本質上是一個非常大的二維數組與無窮小的點不同意。一個字段是連續的,對於任何字段,空間中的每個點都有一個值。

您對字段性質的(錯誤)聲明導致您假定數組是一個合適的數據結構。這不是一個錯誤的假設;數組(儘可能多地維護你的角度)是在計算領域中計算機程序中最常用的數據結構之一。

查看大多數世界上超級計算機上運行的大多數代碼的計算核心,並且您會發現用於在有限的空間範圍內對場進行建模的一些變體。通常所採用的變化將是稀疏陣列,特別是對於幾乎完全均勻的場(例如宇宙中的質量分佈),僅具有局部不均勻性。常用的稀疏數組有多種表示形式,維基百科將對此進行闡述。