



全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章作業(yè)解答一、基礎(chǔ)知識(shí)題2.1試描述頭指針、頭結(jié)點(diǎn)、開(kāi)始結(jié)點(diǎn)的區(qū)別,并說(shuō)明頭指針和頭結(jié)點(diǎn)的作用。答:頭指針是指向頭結(jié)點(diǎn)或開(kāi)始結(jié)點(diǎn)的指針,我們就是靠它來(lái)描述和訪問(wèn)整個(gè)線性鏈表,如果失去了頭指針,整個(gè)線性鏈表也就無(wú)法訪問(wèn),因而線性鏈表的存在與否也就失去了意義。頭結(jié)點(diǎn)是為了對(duì)線性鏈表操作的方便而引入的,引入頭結(jié)點(diǎn)主要有兩方面的方便,一是當(dāng)在線性鏈表的第一個(gè)位置進(jìn)行操作時(shí)無(wú)需做特殊處理;二是就整個(gè)線性鏈表而言無(wú)論空表和非空表,對(duì)表的操作可以保持一致性。頭結(jié)點(diǎn)的數(shù)據(jù)域?yàn)榭斩羔樣蛑赶蜷_(kāi)始結(jié)點(diǎn),如果存在頭結(jié)點(diǎn),那么線性鏈表的頭指針就指向它。開(kāi)始結(jié)點(diǎn)是真正存儲(chǔ)數(shù)據(jù)的第一個(gè)線性鏈表的結(jié)點(diǎn),如果有頭結(jié)點(diǎn)的話,頭結(jié)點(diǎn)的指針域就指向它;如果沒(méi)有頭結(jié)點(diǎn)的話,頭指針就指向它。2.2何時(shí)選用順序表、何時(shí)選用鏈表作為線性表的存儲(chǔ)結(jié)構(gòu)為宜?答:從空間復(fù)雜度上考慮:順序表的存儲(chǔ)空間是靜態(tài)分配的,鏈表的存儲(chǔ)空間是動(dòng)態(tài)分配的,順序表的存儲(chǔ)密度為1,鏈表的存儲(chǔ)密度小于1,因此如果表的長(zhǎng)度變化較大,事先難以確定表的規(guī)模宜采用鏈表,否則用順序表。從時(shí)間復(fù)雜度上考慮:順序表的最大優(yōu)點(diǎn)是,它是一種隨機(jī)存取結(jié)構(gòu),查找算法的時(shí)間復(fù)雜度低;最大缺點(diǎn)是插入刪除操作的時(shí)間復(fù)雜度較鏈表高;鏈表的最大優(yōu)點(diǎn)是插入刪除操作的時(shí)間復(fù)雜度低;最大缺點(diǎn)是查找算法的時(shí)間復(fù)雜度較順序表高。因此對(duì)于頻繁進(jìn)行插入和刪除的線性表,宜采用鏈表做存儲(chǔ)結(jié)構(gòu)。若插入和刪除操作較少,而查找操作較多時(shí)宜采用順序表。2.3在單鏈表、雙鏈表和單循環(huán)鏈表中,若僅知道指針p指向某結(jié)點(diǎn),不知道頭指針,能否將結(jié)點(diǎn)*p從相應(yīng)鏈表中刪除?若可以,其時(shí)間復(fù)雜度各為多少?答:要?jiǎng)h除某結(jié)點(diǎn),我們需要知道該結(jié)點(diǎn)的前后兩個(gè)結(jié)點(diǎn)。在單鏈表中,不知道頭指針,則無(wú)法訪問(wèn)該結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn),因此無(wú)法刪除。在雙鏈表中可以刪除,時(shí)間復(fù)雜度為O(1)。在單循環(huán)鏈表中可以刪除,時(shí)間復(fù)雜度為O(n)。2.4下述算法的功能是什么?LinkList Demo(LinkList L) /L是無(wú)頭結(jié)點(diǎn)的單鏈表 ListNode *Q,*P; if(L&L-next) Q=L;L=L-next;P=L; while(P-next)P=P-next; P-next=Q;Q-next=NULL; return L;/Demo功能是:如果線性表的長(zhǎng)度大于1,則將線性表第一個(gè)位置上結(jié)點(diǎn)放到最后一個(gè)位置上。二、算法設(shè)計(jì)題2.5設(shè)線性表的n個(gè)結(jié)點(diǎn)定義為(a0,a1,.,an-1),重寫(xiě)順序表上實(shí)現(xiàn)的插入和刪除算法:InsertList和DeleteList。void InsertList(SeqList *L,DataType x,int i)int j; if(iL-length) Error(position error); if(L-length=ListSize) Error(overflow); for(j=L-length;ji;j-) L-dataj=L-dataj-1; L-datai=x; L-length+;void DeleteList(SeqList *L,int i)int j; if(iL-length-1) Error(position error!); for(j=i;jlength-1;j+) L-dataj=L-dataj+1; L-length-;2.6試分別用順序表和單鏈表作為存儲(chǔ)結(jié)構(gòu),實(shí)現(xiàn)將線性表(a0,a1,.,an-1)就地逆置的操作。順序表:void Trans(SeqList *L)DataType x; int i; for(i=0;ilength/2;i+) x=L-datai; L-datai=L-dataL-length-i-1; L-dataL-length-i-1=x; 單鏈表:void Trans(LinkList *head)/無(wú)頭結(jié)點(diǎn)ListNode *p1,*p2; if(!(head&head-next)return;/如果表的長(zhǎng)度為0或1則直接返回 p2=head;head=p2-next;p1=head-next; for(;) head-next=p2; if(!p1)return; p2=head; head=p1; p1=p1-next; 2.7設(shè)順序表L是一個(gè)遞增有序表,試寫(xiě)一算法將x插入L中,并使L仍是一個(gè)有序表。void Insert(SeqList *L,DataType x) int i,j; for(i=0;ilength;i+) if(xdatai)break; for(j=L-length;jdataj=L-dataj-1; L-datai=x;2.8設(shè)單鏈表L是一個(gè)遞減有序表,試寫(xiě)一算法將x插入其中后仍保持L的有序性。void Insert(LinkList *L,DataType x)ListNode *p1,*p2,*p3; p3=(ListNode *)malloc(sizeof(ListNode); p3-data=x; p1=L;p2=p1-next; while(1) p1=p2; p2=p2-next; if(!p2)|(xp2-data) p1-next=p3;p3-next=p2;return; 2.9寫(xiě)一算法在單鏈表上實(shí)現(xiàn)線性表的ListLength(L)運(yùn)算。int ListLength(LinkList *L)/沒(méi)有頭結(jié)點(diǎn)int i=0; ListNode *p; p=L; while(p)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售稅務(wù)常識(shí)培訓(xùn)課件
- 健康飲食產(chǎn)業(yè)園項(xiàng)目質(zhì)量管理方案(參考)
- 2025年雙門(mén)轎跑車合作協(xié)議書(shū)
- 2025年汽車尾氣自動(dòng)測(cè)定儀合作協(xié)議書(shū)
- 鄉(xiāng)城流動(dòng)中的中國(guó)男性婚姻擠壓緒論
- 2025年臨床前CRO項(xiàng)目發(fā)展計(jì)劃
- 物業(yè)服務(wù)委托合同 (二)
- 2025年無(wú)機(jī)電子材料合作協(xié)議書(shū)
- 2025年黑龍江省中考生物試卷(含答案)
- 2025年閑置物品調(diào)劑回收項(xiàng)目合作計(jì)劃書(shū)
- 國(guó)有企業(yè)技能人才的職業(yè)發(fā)展路徑與激勵(lì)機(jī)制研究
- 反應(yīng)釜(容器)生產(chǎn)企業(yè)安全風(fēng)險(xiǎn)分級(jí)管控資料
- 營(yíng)養(yǎng)??谱o(hù)士工作總結(jié)
- 2025年上海市松江西部自來(lái)水有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年醫(yī)療救護(hù)員、護(hù)理員職業(yè)技能鑒定理論考試指導(dǎo)題庫(kù)-上(單選、多選、判斷題)
- 2025年度醫(yī)院檢驗(yàn)科人員培訓(xùn)計(jì)劃
- 2025年重慶高職分類考試(教育類)備考試題庫(kù)(含答案)
- 2025年多媒體技術(shù)應(yīng)用:數(shù)字化博物館的構(gòu)建
- 老年人心理健康課件
- 充電樁安裝勞務(wù)合同范例
- 2024年江蘇省支付清算知識(shí)競(jìng)賽備考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論