![數(shù)據(jù)結(jié)構(gòu)課件第二章線性表4講_第1頁](http://file4.renrendoc.com/view/c9ab77e7638de9a16285904388994cb1/c9ab77e7638de9a16285904388994cb11.gif)
![數(shù)據(jù)結(jié)構(gòu)課件第二章線性表4講_第2頁](http://file4.renrendoc.com/view/c9ab77e7638de9a16285904388994cb1/c9ab77e7638de9a16285904388994cb12.gif)
![數(shù)據(jù)結(jié)構(gòu)課件第二章線性表4講_第3頁](http://file4.renrendoc.com/view/c9ab77e7638de9a16285904388994cb1/c9ab77e7638de9a16285904388994cb13.gif)
![數(shù)據(jù)結(jié)構(gòu)課件第二章線性表4講_第4頁](http://file4.renrendoc.com/view/c9ab77e7638de9a16285904388994cb1/c9ab77e7638de9a16285904388994cb14.gif)
![數(shù)據(jù)結(jié)構(gòu)課件第二章線性表4講_第5頁](http://file4.renrendoc.com/view/c9ab77e7638de9a16285904388994cb1/c9ab77e7638de9a16285904388994cb15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2023/11/22計算機(jī)科學(xué)與技術(shù)教研室1/12第二章線性表線性表的鏈?zhǔn)奖硎竞蛯崿F(xiàn)(2)及應(yīng)用
1、單鏈表的合并
2、循環(huán)鏈表
3、雙向鏈表
4、單鏈表應(yīng)用舉例
第4講2023/11/22計算機(jī)科學(xué)與技術(shù)教研室2/12算法評價兩個有序鏈表并為一個有序鏈表算法思想:需設(shè)立3個指針pa、pb和pc,其中pa和pb分別指向La表和Lb表中當(dāng)前待比較插入的結(jié)點(diǎn),而pc指向Lc表中當(dāng)前最后一個結(jié)點(diǎn),若pa->data≤pb->data,則將pa所指結(jié)點(diǎn)鏈接到pc所指結(jié)點(diǎn)之后,否則將pb所指結(jié)點(diǎn)鏈接到pc所指結(jié)點(diǎn)之后。T(n)=O(La.length+Lb.length)2023/11/22計算機(jī)科學(xué)與技術(shù)教研室3/12voidMergeList_L(LinkList&La,LinkList&Lb,LinkList&Lc){//已知單鏈線性表La和Lb元素按值非遞減排列。//歸并La和Lb得到新的單鏈線性表Lc,Lc的元素也按值非遞減排列。pa=La->next;pb=Lb->next;Lc=pc=La;//用La的頭結(jié)點(diǎn)作為Lc的頭結(jié)點(diǎn)while(pa&&pb{if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}else{pc->next=pb;pc=pb;pb=pb->next;}}pc->next=pa?pa:pb;//插入剩余段
free(Lb);//釋放Lb的頭結(jié)點(diǎn)}//MergeList_L合并2023/11/22計算機(jī)科學(xué)與技術(shù)教研室4/12循環(huán)鏈表(circularlinkedlist)循環(huán)鏈表是表中最后一個結(jié)點(diǎn)的指針指向頭結(jié)點(diǎn),使鏈表構(gòu)成環(huán)狀特點(diǎn):從表中任一結(jié)點(diǎn)出發(fā)均可找到表中其他結(jié)點(diǎn),提高查找效率操作與單鏈表基本一致,循環(huán)條件不同單鏈表p或p->next=NULL循環(huán)鏈表p或p->next=Hhh空表2023/11/22計算機(jī)科學(xué)與技術(shù)教研室5/12雙向鏈表(doublelinkedlist)單鏈表具有單向性的缺點(diǎn)結(jié)點(diǎn)定義typedefstructDuLNode{ElemTypedata;structDuLNode*prior,*next;}DuLNode,*DuLinkList;priordatanextL空雙向循環(huán)鏈表:非空雙向循環(huán)鏈表:LABbcapp->prior->next=p=p->next->proir;2023/11/22計算機(jī)科學(xué)與技術(shù)教研室6/12bcaPvoiddel_dulist(DuLNode*p){p->prior->next=p->next;
p->next->prior=p->prior;free(p);}刪除算法描述算法評價:T(n)=O(1)p->prior->next=p->next;p->next->prior=p->prior;2023/11/22計算機(jī)科學(xué)與技術(shù)教研室7/12voidins_dulist(DuLNode*p,intx){DuLNode*s;s=(DuLNode*)malloc(sizeof(DuLNode));s->data=x;
s->prior=p->prior;
p->prior->next=s;
s->next=p;
p->prior=s;}算法描述算法評價:T(n)=O(1)xSbaP插入2023/11/22計算機(jī)科學(xué)與技術(shù)教研室8/122.4線性表的應(yīng)用舉例一元多項式的表示及相加一元多項式的表示:可用線性表P表示但對S(x)這樣的多項式浪費(fèi)空間一般其中用數(shù)據(jù)域含兩個數(shù)據(jù)項的線性表表示其存儲結(jié)構(gòu)可以用順序存儲結(jié)構(gòu),也可以用單鏈表2023/11/22計算機(jī)科學(xué)與技術(shù)教研室9/12單鏈表的結(jié)點(diǎn)定義typedefstructnode{intcoef,exp;structnode*next;}JD;coefexpnextx=x+7(((x-17x+)x87)=97)xxx+522117))3xBAxCxx+9228(xxB+=1785(A+++=-1A703198517^-1B81227-98^-1C70111227517^一元多項式相加2023/11/22計算機(jī)科學(xué)與技術(shù)教研室10/12設(shè)p,q分別指向A,B中某一結(jié)點(diǎn),p,q初值是第一結(jié)點(diǎn)比較p->exp與q->expp->exp<q->exp:p結(jié)點(diǎn)是和多項式中的一項p后移,q不動p->exp>q->exp:q結(jié)點(diǎn)是和多項式中的一項將q插在p之前,q后移,p不動p->exp=q->exp:系數(shù)相加0:從A表中刪去p,釋放p,q,p,q后移
0:修改p系數(shù)域,
釋放q,p,q后移直到p或q為NULL若q==NULL,結(jié)束若p==NULL,將B中剩余部分連到A上即可運(yùn)算規(guī)則2023/11/22計算機(jī)科學(xué)與技術(shù)教研室11/12q-1pa703198517^-1pb81227-98^ppreq-1pa703198517^-1pb81227-98^ppreq-1pa7011198517^-1pb81227-98^ppreq-1pa7011198517^-1pb81227-98^ppreq=NULL-1pa7011198517^-1pb81227-98^ppreq=NULL-1pa7011198517^-1pb81227-98^ppre-1pa70111227517^算法描述2023/11/22計算機(jī)科學(xué)與技術(shù)教研室12/12voidadd_poly(LNode*pa,LNode*pb){LNode*p,*q,*u,*pre;intx;p=pa->next;q=pb->next;pre=pa;while((p!=NULL)&&((q!=NULL)){if(p->exp<q->exp){pre=p;p=p->next;}elseif(p->exp==q->exp){x=p->coef+q->coef;if(x!=0){p->coef=x;pre=p;}else{pre->next=p->next;free(p);}p=pre->next;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年成都房產(chǎn)預(yù)約買賣居間服務(wù)合同
- 2025年公司租賃共享協(xié)議模板
- 2025年報廢汽車收購與再利用諒解協(xié)議
- 2025年建筑工人雇傭合同樣本
- 2025年建設(shè)銀行二手住房貸款合同
- 2025年全球研發(fā)合作與專利授權(quán)合同范本
- 2025年工程退款協(xié)議書模板下載
- 2025年專業(yè)清潔服務(wù)勞動合同范本
- 2025年分公司之間業(yè)務(wù)合作與分工的策劃協(xié)議
- 2025年交通工具抵債協(xié)議
- 2024年總經(jīng)理助理年終工作總結(jié)(3篇)
- 2024年考研英語(二)真題及參考答案
- 山西省太原市2023-2024學(xué)年高二上學(xué)期期末物理試題(含答案)
- 幼兒園園安全培訓(xùn)
- 沖突礦產(chǎn)課件教學(xué)課件
- 三甲醫(yī)院臨床試驗機(jī)構(gòu)-44 V00專業(yè)組SOP目錄
- 酒店工作安全培訓(xùn)(共60張課件)
- 2024年委托招商代理合同經(jīng)典版(三篇)
- 03S702鋼筋混凝土化糞池-標(biāo)準(zhǔn)圖集
- 自我保護(hù)-保護(hù)自己勇敢說不
- 安全設(shè)施檢查維護(hù)保養(yǎng)記錄表
評論
0/150
提交評論