



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、從線性表談到棧與行列摘要:數(shù)據(jù)布局是盤算機(jī)中一個(gè)非常緊張的分支,它是實(shí)際天下數(shù)據(jù)與盤算機(jī)天下數(shù)據(jù)毗連的關(guān)鍵,它重要涵蓋兩方面的內(nèi)容:邏輯層面的數(shù)據(jù)布局及盤算機(jī)存儲(chǔ)數(shù)據(jù)物理層的數(shù)據(jù)布局。關(guān)于數(shù)據(jù)布局中的線性表、棧、行列,文章將上述兩方面的內(nèi)容舉行先容,舉行橫向的比力,從而更明晰地看到它們之間的接洽與區(qū)別。并闡發(fā)它們在實(shí)際盤算中的應(yīng)用。關(guān)鍵詞:線性表;堆棧;行列中圖分類號(hào):tp311.12文獻(xiàn)標(biāo)識(shí)碼:a文章編號(hào):1006-8937202217-0081-021邏輯干系線性表。線性表是有限元素a1,a2,a3,an有序序列的聚集,a1,a2,an都是完全雷同布局的數(shù)據(jù)范例,同時(shí)它們之間的擺列嚴(yán)酷有序
2、,此中任何元素都對應(yīng)唯一的前驅(qū)以及唯一的后繼。如許一個(gè)序列可以有查詢、刪除、插入行列任何位置的數(shù)據(jù)操縱。堆棧。堆棧也是一個(gè)有序序列的聚集,布局上與線性表劃定一樣。但它的運(yùn)算受到嚴(yán)酷的限定故也叫限定性線性表。這個(gè)序列中我們只能從一端取出放入數(shù)據(jù),即壓入棧和彈出棧,以是它的挨次是“先輩先出,如圖1所示。行列。行列與棧雷同,屬于限定性線性表,它的操縱差異的地方是兩頭存、取數(shù)據(jù),且僅僅是一端取隊(duì)頭一端隊(duì)尾,以是它的數(shù)據(jù)是“先入先出。2物理布局2.1挨次布局1線性表。用必然巨細(xì)的數(shù)據(jù)來存放線性表,數(shù)組長度代表線性表的長度,元素在數(shù)組的位置代表元素在線性表的位置。但對數(shù)組中元素不克不及跳躍插入,由于線性表
3、中元素是挨次且毗連著的,不像數(shù)組中心可以空元素。同時(shí)刪除元素時(shí),必需大量挪動(dòng)剩下的元素,由于必需實(shí)現(xiàn)其一連性。插入元素同樣必要大量挪動(dòng)數(shù)據(jù)。因此如許存儲(chǔ)的運(yùn)行服從并不敷高。以是對付有著頻仍插入和刪除運(yùn)算的線性表,是不得當(dāng)接納挨次存儲(chǔ)的。2堆棧。雷同于線性表,利用數(shù)組存儲(chǔ),只從這個(gè)數(shù)組的一端插入和刪除數(shù)據(jù),不存在從中心“挖數(shù)據(jù),故不存在大量數(shù)據(jù)挪動(dòng)的題目,唯一不敷的是數(shù)組巨細(xì)是有限的,會(huì)存在棧滿的征象。假設(shè)數(shù)組巨細(xì)界說過大,那么又有大量存儲(chǔ)空間沒有被利用,會(huì)有資源白費(fèi)。3行列。初始存儲(chǔ)雷同于線性表,但由于只能從一邊進(jìn)入另一邊出,以是數(shù)據(jù)會(huì)隨著數(shù)據(jù)操縱而不竭“進(jìn)步,使行列像一條“蠕蟲一樣逐步“爬過
4、行列界說的全部空間,而且“爬過的空間就無法再次得到運(yùn)用?!叭湎x爬到數(shù)組止境之后那么無法進(jìn)步,而此時(shí)很大概數(shù)組前端尚有大量的數(shù)據(jù)未得到利用。因此我們將一個(gè)數(shù)組看作是“相連的,馬上整個(gè)數(shù)組看做一個(gè)環(huán)形,而行列“蠕蟲那么會(huì)在這個(gè)環(huán)形軌道中一連“爬動(dòng),直到數(shù)據(jù)裝滿整個(gè)數(shù)據(jù)空間。但這里尚有第二個(gè)題目,如許的界說之后行列空與滿,指向隊(duì)頭的frnt與指向隊(duì)尾的rear所處的相對位置是完全一樣的,如圖2、圖3所示。如許一個(gè)雷同于“活塞的東西,它總是緊鄰行列中第一個(gè)數(shù)據(jù)元素,是可以挪動(dòng)的,但它自己不存放任何數(shù)據(jù)。同時(shí)將隊(duì)頭指針指向這個(gè)“活塞,那么隊(duì)空與隊(duì)滿的辯論環(huán)境就得以制止,如圖4、圖5所示。2.2鏈?zhǔn)接捎跀?shù)
5、組的靜態(tài)分派、不易擴(kuò)大、插入刪除會(huì)有大量數(shù)據(jù)挪動(dòng)等種種范圍性,我們引入鏈?zhǔn)酱鎯?chǔ)方法。通過動(dòng)態(tài)分派存儲(chǔ)空間,最有用地利用空間。線性表:通過動(dòng)態(tài)分派,分派物理上不必然相鄰的存儲(chǔ)單位。為表現(xiàn)他們的一連性毗連性,再在分派這個(gè)存儲(chǔ)單位時(shí),附加一部門存儲(chǔ)單位指針域也叫鏈接域來指出這個(gè)元素的后繼元素的存儲(chǔ)地點(diǎn)。如許前面出現(xiàn)的刪除時(shí)間龐大度高算法服從低的題目就得到了辦理。但凡事都有兩面性,插入刪除操縱固然高效,但它在查尋上的服從卻不如數(shù)組方法,它無法拜候恣意位置的元素,也無法根據(jù)如今所處的位置urrent指針處去拜候它前面的數(shù)據(jù)。對付這些不敷,我們也提出一些辦理方案,通過循環(huán)鏈表將尾部的鏈接指向線性表的頭部或
6、通過雙向鏈表元素中增長指針,指針指向直接前驅(qū)元素。如許的鏈?zhǔn)酱鎯?chǔ)多節(jié)流了操縱的時(shí)間,但必要更多的存儲(chǔ)空間。堆棧:雷同于線性表的鏈?zhǔn)酱鎯?chǔ),而且它的操縱更為簡樸。這種存儲(chǔ)相對付挨次存儲(chǔ),鏈?zhǔn)降亩褩8旧蠜]有棧滿的環(huán)境,存儲(chǔ)如圖6所示。棧頭是末了進(jìn)入的數(shù)據(jù),棧尾是先輩入的數(shù)據(jù)。行列:與前面雷同,詳細(xì)存儲(chǔ)如圖7所示。3應(yīng)用舉例線性表。一個(gè)數(shù)據(jù)表利用事后,大概下次還會(huì)再次被利用。好比輸入某漢字,首屏一樣平常是常用漢字,那么就必要通過翻屏尋到用戶必要的漢字,一樣平常利用過一次后,接下來很大幾率再次利用它。漢字可以以鏈表中結(jié)點(diǎn)存儲(chǔ),而第一屏僅表現(xiàn)鏈表前面多少漢字,故要將之前利用過的漢字挪動(dòng)到第一結(jié)點(diǎn)的位置,
7、進(jìn)步漢字錄入服從。這是根據(jù)結(jié)點(diǎn)的利用埋伏概率來決定存放的位置,假設(shè)不克不及獲得每個(gè)結(jié)點(diǎn)的埋伏利用概率,可以接納前移一個(gè)位置的要領(lǐng),利用越多,前移越多。堆棧。起首是背包題目,假設(shè)有一個(gè)能包容總體積為t的背包,尚有n個(gè)別積別離是1,2n個(gè)物品,現(xiàn)要在這幾件物品中選出多少件物品恰恰裝滿背包,求滿意條件的全部解。然后接納實(shí)驗(yàn)回逆法,從0號(hào)物品開始挨次拔取物品,假設(shè)可以裝入背包裝入后不滿,那么將該物品的編號(hào)進(jìn)棧。假設(shè)當(dāng)前選定的物品k裝不進(jìn)去裝入后體積大于t選擇下一個(gè)物品k+1實(shí)驗(yàn)裝入。假設(shè)尚未求得解,又已無物品可選,那么說明上一個(gè)裝入的物品不符合,將堆棧退出一個(gè)背包編號(hào),再從這個(gè)退出的編號(hào)的下一個(gè)編號(hào)物
8、品實(shí)驗(yàn)。每求出一組解,輸出效果,再退出棧頂數(shù)據(jù),再從當(dāng)前退出的編號(hào)的下一個(gè)標(biāo)號(hào)物品實(shí)驗(yàn),直到堆棧為空無退棧數(shù)據(jù)且到達(dá)最大編號(hào)行列。以列車重排舉行闡發(fā),一列貨運(yùn)列車共有n節(jié)車廂,每節(jié)車廂將停放在差異的車站。假定n個(gè)車站的編號(hào)別離為1n,即貨運(yùn)列車根據(jù)第n站至第1站的序次顛末這些車站。為了便于從列車上卸掉相應(yīng)的車廂,車廂的編號(hào)應(yīng)與車站的編號(hào)雷同,如許,在每個(gè)車站只需卸掉末了一節(jié)車廂。以是,給定恣意序次的車廂,必需重新擺列他們。假定重排n個(gè)車廂,可利用k個(gè)緩沖軌,將每個(gè)緩沖軌當(dāng)作是一個(gè)行列,用nut表現(xiàn)下一個(gè)輸出至出軌的車廂編號(hào)?;疖囓噹嘏诺乃惴ㄓ脗未a形貌如下:別離對k個(gè)行列初始化;初始化下一個(gè)有愛輸出的車廂編號(hào)nut=1;依次取入軌中的每一個(gè)車廂編號(hào)。假設(shè)入軌中的車廂編號(hào)即是nut,那么輸出該車廂:nut+。不然,思量每一個(gè)緩沖軌行列:frj=1;j=k;j+,取行列j的仇家元素。假設(shè)=nut,那么將行列j的仇家元素出隊(duì)并輸出:nut+。假設(shè)入軌和緩沖軌的仇家元素沒有編號(hào)為nut的車廂,那么求小雨入軌中第一個(gè)車廂編號(hào)的最大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶店品牌授權(quán)經(jīng)營合同-2025年度市場推廣計(jì)劃
- 二零二五年度個(gè)人手房車位使用權(quán)轉(zhuǎn)讓及車位租賃管理服務(wù)合同
- 二零二五年度食堂食品安全監(jiān)控用工合同
- 二零二五年度能源管理文件傳輸與監(jiān)控合同
- 二零二五年度房地產(chǎn)項(xiàng)目股權(quán)回購轉(zhuǎn)讓協(xié)議書
- 二零二五年度人工智能助手免責(zé)任協(xié)議書
- 二零二五年度學(xué)生宿舍租賃管理服務(wù)合同
- 二零二五年度農(nóng)業(yè)科技園區(qū)經(jīng)營權(quán)合作書
- 二零二五年度教育機(jī)構(gòu)貸款擔(dān)保合同
- 2025年度蔬菜大棚溫室租賃與農(nóng)產(chǎn)品質(zhì)量安全追溯系統(tǒng)建設(shè)合同
- 盤扣支模架工程監(jiān)理細(xì)則
- 空心杯電機(jī)基礎(chǔ)知識(shí)
- DL-T+5839-2021土石壩安全監(jiān)測系統(tǒng)施工技術(shù)規(guī)范
- 移動(dòng)商務(wù)專業(yè)教學(xué)資源庫申報(bào)書
- 人教鄂教版-科學(xué)-三年級(jí)下冊-知識(shí)點(diǎn)
- 交響音樂賞析智慧樹知到期末考試答案章節(jié)答案2024年西安交通大學(xué)
- 2024年北師大版五年級(jí)數(shù)學(xué)下冊第二單元長方體(一)檢測卷(提高卷)含答案
- DZ∕T 0248-2014 巖石地球化學(xué)測量技術(shù)規(guī)程(正式版)
- 休產(chǎn)假工作交接表
- 四宮格兒童數(shù)獨(dú)練習(xí)60題
- 2024年內(nèi)蒙古國有資本運(yùn)營有限公司招聘筆試沖刺題(帶答案解析)
評論
0/150
提交評論