數(shù)據(jù)結(jié)構(gòu)分為線性數(shù)組與非線性數(shù)組
線性結(jié)構(gòu)(數(shù)組梗肝、隊(duì)列榛瓮、鏈表、棧)
非線性結(jié)構(gòu)(二維數(shù)組巫击、多維數(shù)組禀晓、廣義表精续、樹結(jié)構(gòu)、圖結(jié)構(gòu))
- 稀疏數(shù)組
當(dāng)數(shù)組中大部分元素為0或者同一個值粹懒,采用稀疏數(shù)組保存
//創(chuàng)建稀疏數(shù)組
int[][] sparseArray = new int[sum+1][3];
//給稀疏數(shù)組賦值
sparseArray[0][0] = 11;
sparseArray[0][1] = 11;
sparseArray[0][2] = sum;
//將非0的數(shù)放入稀疏數(shù)組
//count:標(biāo)識第幾個非0數(shù)
int count = 0;
for (int i = 0;i<11;i++){
for(int j = 0;j<11;j++){
if(array[i][j] != 0){
count++;
sparseArray[count][0] = i;
sparseArray[count][1] = j;
sparseArray[count][2] = array[i][j];
}
}
}
- 隊(duì)列:
有序列表重付,可以是數(shù)組或鏈表實(shí)現(xiàn)
遵循先入先出
元素maxSize、rear(隊(duì)列尾指針)凫乖、front(隊(duì)列頭指針)
- 鏈表:
- 節(jié)點(diǎn)的方式存儲
- 節(jié)點(diǎn)含data域确垫,next域
- 各個節(jié)點(diǎn)不一定是連續(xù)存儲
- 鏈表分帶頭節(jié)點(diǎn)鏈表和沒有頭結(jié)點(diǎn)鏈表