當乙個陣列中大部分元素為0,或者為同乙個值的陣列時,可以使用稀疏陣列來儲存該陣列
處理方法:
舉例:
[0 0 12 0 5 行 列 值0 11 0 3 0 0 2 12
1 0 6 0 0 ---> 0 4 5
0 41 0 0 0 1 1 11
0 0 0 9 0] 1 3 3
2 0 1
2 2 6
3 1 41
4 3 9
type valnode struct
func main()
fmt.println()
} // 轉為稀疏陣列
var sarr valnode
// 標準的稀疏陣列應該有i個記錄原始微微陣列的行列和預設值(預設值都為0)
varnode := valnode
for i, v := range arr
}} }
// 稀疏陣列
for i, v :=range sarr
// 將稀疏陣列存檔,在從磁碟讀取稀疏陣列,轉為原始陣列
}
轉換後結果:
0行: 11 11 0
1行: 1 2 1
2行: 2 3 2
go資料結構01 稀疏陣列
換行 2 建立乙個稀疏陣列,記錄陣列中的元素 思路 遍歷棋盤,如果有乙個元素不為0,那麼建立乙個node結構體,將其放入到棋盤中去 var sparsearr valnode 建立乙個值節點儲存棋盤大小 vnodee valnode sparsearr sparsearr,vnodee for i,...
稀疏陣列,稀疏矩陣概念
稀疏矩陣 矩陣中非零元素的個數遠遠小於矩陣元素的總數,並且非零元素的分布沒有規律,通常認為矩陣中非零元素的總數比上矩陣所有元素總數的值小於等於0.05時,則稱該矩陣為稀疏矩陣 sparse matrix 該比值稱為這個矩陣的稠密度。稀疏陣列 稀疏陣列可以看做是普通陣列的壓縮,但是這裡說的普通陣列是值...
陣列轉稀疏陣列
針對於陣列轉稀疏陣列 壓縮 public static void main string args system.out.println system.out.println 稀疏陣列 將二維陣列轉換為稀疏陣列 先遍歷二維陣列 得到非0資料的個數 記錄非0資料 int sum 0 for int i...