資料結構學習筆記 稀疏陣列

2021-10-12 07:08:27 字數 1953 閱讀 5853

資料元素之間一對一的關係

順序儲存結構(位址連續–陣列)和鏈式儲存結構(位址不連續-鍊錶)

陣列、鍊錶、佇列、棧

2.1.1 需求

由圖分析:使用二維陣列儲存棋盤存在大量無用資料—>使用稀疏陣列優化

2.1.2 稀疏陣列優化–思路:2.1.3 實現思路:

二維陣列轉稀疏陣列:

遍歷二維陣列,得到有效資料的個數sum

建立稀疏陣列,int【sum+1】

將二維陣列的有效資料存入稀疏陣列

稀疏陣列轉二維陣列:

讀取稀疏陣列的第一行資料,建立二維陣列,int【row】【col】

讀取稀疏陣列其他行,並賦值給原始二維陣列即可

2.1.4 **實現:

public

class

sparsearray

system.out.

println()

;}//遍歷二維陣列,得到有效資料的個數sum

int sum=0;

for(

int i=

0;i<

11;i++)}

}//建立稀疏陣列,int【sum+1】

int[

] sparsearray=

newint

[sum+1]

[3];

sparsearray[0]

[0]=

11;sparsearray[0]

[1]=

11;sparsearray[0]

[2]=sum;

//將二維陣列的有效資料存入稀疏陣列

int count=0;

//記錄第幾個非零數

for(

int i=

0;i<

11;i++)}

}//輸出稀疏陣列

system.out.

println

("輸出稀疏陣列");

for(

int[

]row:sparsearray

)system.out.

println()

;}//稀疏陣列轉二維陣列

//讀取稀疏陣列的第一行資料,建立二維陣列,int【row】【col】

int[

] chessarr2=

newint

[sparsearray[0]

[0]]

[sparsearray[0]

[1]]

;//讀取(遍歷)稀疏陣列其他行,並賦值給原始二維陣列即可

chessarr2[sparsearray[1]

[0]]

[sparsearray[1]

[1]]

=sparsearray[1]

[2];

chessarr2[sparsearray[2]

[0]]

[sparsearray[2]

[1]]

=sparsearray[2]

[2];

chessarr2[sparsearray[3]

[0]]

[sparsearray[3]

[1]]

=sparsearray[3]

[2];

for(

int i=

1;i)//輸出 新的二維陣列

system.out.

println

("新的二維陣列");

for(

int[

]row:chessarr1

)system.out.

println()

;}}}

資料結構學習筆記 陣列

package com.cc.array public class myarray 陣列插入元素 param index param element throws exception public void insert int index,int element throws exception ...

資料結構學習筆記

資料結構概述 定義我們如何把現實中大量而複雜的問題以特定的資料型別和特定的儲存結構 儲存到主儲存器 記憶體 中,以及在此基礎上為實現某個功能 比如查詢摸個 元素,刪除某個元素,對所有元素進行排序 而執行的相應操作,這個相應 的操作也叫演算法 資料結構 個體 個體的關係 演算法 對儲存資料的操作 演算...

資料結構學習筆記

資料結構學習筆記 程式 資料結構 演算法 資料結構 資料 結構 結構的本質是關係 資料之間的關係從不通風層面上分為邏輯關係和物理關係 演算法的設計要依據資料的邏輯關係 演算法的實現要依據資料的物理關係 物理關係是邏輯關係的基礎和載體 演算法實現時需要先依據問題抽象出資料模型,即初步確定待處理資料的邏...