今天開始更新資料結構與演算法
這是資料結構的第一篇
大神可以無視,小白可以湊合看看,為了給小白看的清楚,裡面加了每一步的演示,複製到ide中即可執行。
package learn;
/** * @author yuyi
* 稀疏陣列的**實現
* 第一行記錄原陣列幾行幾列,多少個有效值
* 接下來是所在行列的位置以及值的內容
* 稀疏陣列的開始也是從零開始
*/public class sparsearray
system.out.println();
}system.out.println("*************************==");
for(int a:array1)}}
system.out.println(sum);
//根據上方新建稀疏陣列
int array2=new int[sum+1][3];
array2[0][0]=11;
array2[0][1]=11;
array2[0][2]=sum;
int count=0;
for(int i=0;ifor(int j=0;j}
//展示得到的稀疏陣列
for(int i=0;isystem.out.println();
}/**
* 還原為原矩陣
*/int array3 = new int[array2[0][0]][array2[0][1]];
for(int i=1;i//展示還原的陣列
for(int a:array3)
system.out.println();}}
}
稀疏陣列與二維陣列的轉換
稀疏陣列的使用場景 當乙個陣列中大部分元素為0,或者為同乙個值的時候,可以使用稀疏陣列來儲存該陣列。比如這樣乙個陣列,裡面除了1和2之外其餘全為0。比如下面這張圖 左邊二維陣列為6行7列,其中有8個非零的值,所以將 6,7,8 存在第0行 後面開始記錄原二維陣列有效資料的位置,比如有效資料22,其位...
稀疏陣列(與二維陣列互相轉換)
二維陣列的省記憶體的儲存方法,一般是n行3列,三列分別為行,列,值。二維陣列轉稀疏陣列 1.遍歷整個二維陣列,檢視有多少個有效數字 2.根據有效數字的個數,建立稀疏陣列 3.遍歷二維陣列,將有效的數字放入稀疏陣列中稀疏陣列轉二維陣列 1.根據稀疏陣列第一行建立空二維陣列 2.讀取稀疏陣列後幾行資料,...
二維陣列與稀疏陣列
一維數00組的集合,二維陣列可以由多個一維陣列構成 二維陣列的建立 int a 推薦使用 int a2 直接建立 int a new int x 可以不進行定義也可以定義 int a int a new int,二維陣列的迭代 int b1 newint for int i 0 i 實現 packa...