Re: [問題] 有另外的資料結構來代表大型的多維陣列嗎?
※ 引述《chiachenyen (阿成)》之銘言:
: 近來需要寫一支程式,有一個小困擾~
: 程式需要計算數十維度的資料,若宣告成:
: int record[][][][][][][][][][]=new int[25][25][25][25][25][25][25][25][25][25];
: 顯然得,不可行~
: 這麼大的多維陣列,其實也可能只有100個elements會用到(或是更少),但因為這些elements都會分散在這個多維陣列之中,我有考慮過用vector來作,也就是說,用"編號"的方式來作,這麼一來,如果只需100個elements,也就真正的只需100個~
: 如了這個外,不曉得各位先進還有其他建議的方法嗎~?
分析一下你的問題:
1.資料的Index有十個左右的int屬性
2.總資料比數大約100筆左右
3.在這個資料結構上定義的運算未知。
4.資料的CRUD趨向不明。
資料結構的決定是跟運算有很大的相依性的。
不知道你會需要做什麼樣的運算就不太好設計適當的資料結構。
依你的資料量來看,應該之前其他網友建議的稀疏矩陣方式就很好用了。
不過在儲存架構上,如果知道Index之間的關係與運算Iteration的方式
則更能設計有效率的結構。
--
JAVA 是一個靜態型別reference指定、強物件型別判定的語言。
屬於類C/C++族。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.85.116.116
討論串 (同標題文章)