結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組.ppt

結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組.ppt

ID:51482739

大?。?55.00 KB

頁數(shù):34頁

時(shí)間:2020-03-24

結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組.ppt_第1頁
結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組.ppt_第2頁
結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組.ppt_第3頁
結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組.ppt_第4頁
結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組.ppt_第5頁
資源描述:

《結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第4章數(shù)組4.1數(shù)組定義及基本操作4.2數(shù)組的存儲(chǔ)結(jié)構(gòu)4.3特殊矩陣的壓縮存儲(chǔ)4.4稀疏矩陣的壓縮存儲(chǔ)4.5數(shù)組的運(yùn)算10/6/20211數(shù)組是我們最常用的一種數(shù)據(jù)結(jié)構(gòu),各種計(jì)算機(jī)語言均有此類型。例如:順序表、順序棧、循環(huán)隊(duì)列等。1.?dāng)?shù)組的定義:數(shù)組:是n(n>1)個(gè)相同數(shù)據(jù)類型的數(shù)據(jù)元素a0,a1…an-1,構(gòu)成的占用一塊連續(xù)的內(nèi)存單元的有限序列。數(shù)組特點(diǎn):1.有限個(gè)元素的集合;2.所有元素具有相同的特性;3.元素名由數(shù)組名和下標(biāo)組成;4.下標(biāo)值與元素對(duì)應(yīng)(代表元素的位置)。4.1數(shù)組的定義及操作10/6/20212數(shù)組與線性表:相同之處:由若干個(gè)相同數(shù)據(jù)類型的數(shù)據(jù)

2、元素組成.不同之處:1.存儲(chǔ)單元連續(xù)與否2.數(shù)據(jù)元素在邏輯意義上可分與否3.操作不同。10/6/202132.數(shù)組的邏輯結(jié)構(gòu)一維數(shù)組(a0,a1,a2,a3,…an-1)滿足線性關(guān)系;二維或二維以上數(shù)組:(以二維為例)Amxn=aa…..aa00a02…….a0n-110111n-1……...aaam-10m-12m-1n-1看元素a11有兩個(gè)直接前趨a10和a02兩個(gè)直接后繼a21和a12三維數(shù)組:每個(gè)元素有三個(gè)直接前趨和三個(gè)直接后繼.可見:數(shù)組(除一維數(shù)組外)是一種復(fù)雜的非線性數(shù)據(jù)結(jié)構(gòu).10/6/20214但是:1)可將Amxn看成由m個(gè)行向量組成的向量,即Amn

3、={(a00,a01,……a0n-1),(a10,a11,……a1n-1),……(am-10,am-11,……am-1n-1)}2)將Amxn看成由n個(gè)列向量組成的向量,即Amn=((a00,a10,……am-10),(a01,a11,……am-11)……(a0n-1,a1n-1,……am-1n-1))列向量為線性.元素1元素2元素m看(ai0,ai1,…..ain-1),除ai0,ain-1外只有一個(gè)直接前趨和一個(gè)直接后繼.元素1元素2元素n10/6/20215據(jù)此數(shù)組可看成是線性表的擴(kuò)展:即線性表中的數(shù)據(jù)元素本身也是一個(gè)數(shù)據(jù)結(jié)構(gòu).數(shù)組可表示成兩類線性表:1.以行向

4、量做線性表的一個(gè)元素;2.以列向量做線性表的一個(gè)元素.10/6/202163.?dāng)?shù)組抽象數(shù)據(jù)類型:數(shù)據(jù)集合:數(shù)組的數(shù)據(jù)集合可表示為a0,a1…an-1,每個(gè)數(shù)據(jù)元素的類型為抽象數(shù)據(jù)類型:DataType.(限定順序存儲(chǔ))數(shù)據(jù)關(guān)系:線性關(guān)系.操作集合:各種高級(jí)程序設(shè)計(jì)語言的操作各不相同,必備的操作有:(1)求數(shù)組元素個(gè)數(shù)(2)隨機(jī)取(3)隨機(jī)存(4)矩陣運(yùn)算10/6/20217一般數(shù)組:(以二維數(shù)組為例)多采用順序存儲(chǔ):(1).按行優(yōu)先順序存儲(chǔ)假設(shè):Am×n=a00a01a02…a0n-1a10…a00a01a02a03…a0n-1a10a11a12a13…a1n-1…a

5、m-10am-11am-12am-13…am-1n-1即a00,a01,a02……a0n-1,a10,a11,…...a1n-1……aij的存儲(chǔ)地址:am-1,04.2數(shù)組的存儲(chǔ)結(jié)構(gòu):10/6/20218L:為每個(gè)元素所占存儲(chǔ)單元.Pascal和C語言中數(shù)組存儲(chǔ)為此方式.Loc(aij)=Loc(a00)+(i*n+j)*L(2).列優(yōu)先順序存儲(chǔ),即a00,a10,a20……am-10,a01,a11,…...am-11……aij存儲(chǔ)地址:Loc(aij)=Loc(a00)+(j*m+i)*LFortran語言采用此方法.a00a10a20…am-10a01…可見:數(shù)

6、組是一種隨機(jī)存儲(chǔ)結(jié)構(gòu).存取任意元素的時(shí)間相等10/6/20219推廣:假設(shè):A[c1--d1][c2--d2]例:二維數(shù)組floata[4][3].計(jì)算(1)數(shù)組元素?cái)?shù)目?(2)若數(shù)組Loc(a00)=1000,且L=4,數(shù)組元素a[3][2]的地址?(按行優(yōu)先存儲(chǔ))4*3=12Loc(a32)=Loc(a00)+(i*n+j)*L=1000+(3*3+2)*4=1044Loc(aij)=Loc(ac1c2)+[(i-c1)*(d2-c2+1)+(j-c2)]*L按行優(yōu)先順序存儲(chǔ):Loc(aij)=Loc(ac1c2)+[(j-c2)*(d1-c1+1)+(i-c1)

7、]*L按列優(yōu)先順序存儲(chǔ):10/6/202110特殊矩陣:指有一定量的零元素(或相同元素),并且其分布(非零元素的位置)有一定的規(guī)律。采用壓縮順序存儲(chǔ)方式:只存非零元素,節(jié)省空間.1.下三角矩陣:存放形式:{a00,a10,a11,a20,a21,…an-10,an-11,…an-1n-1}4.3特殊矩陣的壓縮存儲(chǔ)a0000……..0a10a110…….0……………….0an-10an-11…..an-1n-1Ann=可以是0和常數(shù)C第1行:1個(gè)第2行:2個(gè)第3行:3個(gè)……第n行:n個(gè)1+2+3+4+5+…+n=n(n+1)/210/6/2

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。