資料結構基礎稀疏矩陣實現
package third;
public
class
sparsearray
system.out.
println()
;}//將二維陣列 轉 稀疏陣列
//1.遍歷二維陣列 得到非0資料的個數
int sum =0;
for(
int i=
0;i<
11;i++
)for
(int j=
0;j<
11;j++)}
//2.建立對應的稀疏矩陣
int sparsearray[
]=newint
[sum+1]
[3];
//給稀疏陣列賦值
sparsearray[0]
[0]=
11;sparsearray[0]
[1]=
11;sparsearray[0]
[2]=sum;
//遍歷二維陣列 將非0的值儲存到sparsearray中
int count =0;
// count用於記錄第幾個非0 資料
for(
int i=
0;i<
11;i++
)for
(int j=
0;j<
11;j++)}
//輸出稀疏陣列形式
system.out.
println()
; system.out.
println
("得到稀疏陣列");
for(
int i=
0;i將稀疏陣列恢復成原始的二維陣列
*///1.將讀取第一行,根據第一行的資料建立原始二維陣列
int chessarr2[
]=newint
[sparsearray[0]
[0]]
[sparsearray[0]
[1]]
;//2.讀取稀疏矩陣的後幾行資料,賦給原始二維陣列
for(
int i=
1;i< sparsearray.length;i++
) system.out.
println()
;for
(int
row:chessarr2)
system.out.
println()
;}}}
資料結構 day1
資料結構往往跟演算法有很大關係 ep1 圖書館 ep2 遞迴函式很有可能導致記憶體溢位 因為每一次遞迴都在記憶體裡新建了乙個 程式 如果遞迴次數過多,那麼這個程式占用的空間會很恐怖 ep3 多項式 正常演算法和秦九韶演算法的比較。秦九韶演算法有效的減少了乘法的量級 clock 獲得從程式開始到呼叫這...
資料結構day1 棧
1.什麼是棧 後進先出 lifo 的線性表,僅能在一邊進出。2.實現方式有 順序棧和鏈式棧 順序棧的實現 將陣列的尾部當作棧頂,在棧頂尾部進行pop和push操作只需要常數時間。順序棧的實現 public class astack implements stackadt astack void in...
資料結構 稀疏矩陣
稀疏矩陣 矩陣中有效資料的個數遠遠小於無效資料的個數,則可以稱之為稀疏矩陣 如果還像以前那樣將每個稀疏矩陣的資料都儲存起來,則會造成記憶體的很大程度的浪費,所以應用特別的儲存方式。稀疏矩陣的壓縮儲存 使用 三元組儲存每乙個有效資料,三元組按原矩陣中的位置,以行優先順序先後順序依次存放。矩陣的轉置 將...