0
我想知道什麼會比其他解決方案執行時更快,哪些內存更少內存。2維陣列vs簡單陣列
當我自己問這個問題時,我正在做數獨。正如你所知,數獨是一個9×9的網格數組,所有圍繞數獨的解算器都在實現數組[9] [9]。我認爲這是因爲它看起來像你習慣玩的網格。
我的問題很簡單,因爲網格始終是一個方形(例如:9×9),什麼是之間的最快和最低的內存消耗: - 2Dimensions:數組[9] [9] - 單一維度:數組[81 ]
在兩種情況下計算訪問值(如果數組從第0個索引開始,並且您需要第9個和第9個網格中的第5個和第6個行): - 2D Array的座標幾何(例如:Array [5-1 ] [6-1]) - 單個計算位置(Array [((6-1)* 9)+(5-1)])
有沒有什麼方法可以測試?
不要擔心。只需使用該算法最方便的結構即可。除非你擁有數百萬個網格,否則不會有任何改變。 – Barmar
但是要回答你的問題,單個數組將會減少內存,因爲它只包含81個值,而數組數組包含81個值和9個指針。 – Barmar
當然,這就是我告訴自己,但只是好奇心,如果有一天,當網格的大小,它應該有區別 – aviel