數(shù)據(jù)結(jié)構(gòu)作業(yè)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)作業(yè)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)作業(yè)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)作業(yè)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)作業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)結(jié)構(gòu)作業(yè)1/2數(shù)據(jù)結(jié)構(gòu)作業(yè):1簡(jiǎn)述下列術(shù)語:線性表,順序表,鏈表。線性表:注意常用且最簡(jiǎn)單的一種數(shù)據(jù)結(jié)構(gòu)。一個(gè)線性表示n個(gè)數(shù)據(jù)元素的有限序列。順序表:是指用一組連續(xù)的存儲(chǔ)單元一次存儲(chǔ)線性表中的數(shù)據(jù)元素。鏈表:邏輯結(jié)構(gòu)相鄰的數(shù)據(jù)元素物理結(jié)構(gòu)不一定相鄰。采用指針的形式連接起來。2何時(shí)選用順序表,何時(shí)選用鏈表作為線性表的存儲(chǔ)結(jié)構(gòu)合適?各自的主要優(yōu)缺點(diǎn)是什么?不需要經(jīng)常大量的修改表或需要隨機(jī)存取的情況下可以選用順序表;相反需要經(jīng)常大量的修改表,但不是頻繁的隨機(jī)的存取的情況下可選用鏈?zhǔn)奖怼?在順序表中插入和刪除一個(gè)結(jié)點(diǎn)平均需要移動(dòng)多少個(gè)結(jié)點(diǎn)?具體的移動(dòng)次數(shù)取決于哪兩個(gè)因素?平均需要移動(dòng)n/2個(gè)結(jié)點(diǎn)。具體的移動(dòng)次數(shù)取決于表的長(zhǎng)度和要插入的位置4鏈表所表示的元素是否有序?如有序,則有序性體現(xiàn)于何處?鏈表所表示的元素是否一定要在物理上是相鄰的?有序表的有序性又如何理解?數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第1頁(yè)。有序。有序性體現(xiàn)在通過指針數(shù)據(jù)元素有序的相連。物理上下一定要相鄰。數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第1頁(yè)。5設(shè)順序表L是遞增有序表,試寫一算法,將x插入到L中并使L仍是遞增有序表。StatusListInsert(SqList&L,inti,ElemTypee){If(i>L.length+1||i<1)returnERROR;If(L.length>=L.listsize){Newbase=(ElemType*)realloc((L.listsize=LISTINCRMENT)*sizeof(ElemType));If(!mewbase)exit(-1);}Lelem=newbase;Listsize+=LISTINCREMENT;}ElemType*q,*p;q=&Lelem[i-1];for(p=&L.elem[L.length-1];p>=q;p--)*(p+1)=*p;*q=e;L.length++;returnOK;}數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第2頁(yè)。6寫一求單鏈表的結(jié)點(diǎn)數(shù)目ListLength(L)數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第2頁(yè)。IntListLength(L){inti=0;ElemType*p;p=&L;if(!p)exit(-1);if(p.next==NULL)return0;elsewhile(p.next!=NULL){p++;i++;}returni;}7寫一算法將單鏈表中值重復(fù)的結(jié)點(diǎn)刪除,使所得的結(jié)果鏈表中所有結(jié)點(diǎn)的值均不相同。voidDeletElem(SqListL){ElemType*p,*q,*s;inti=1;intj;p=&L.next.next;數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第3頁(yè)。數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第3頁(yè)。{q=&L.next;for(j=1;j<=i;j++){if(q->data==p->data){p.next=(p-1).next;s=p;p++;free(s);}}if(j>i)P++;}}8寫一算法從一給定的向量A刪除值在x到y(tǒng)(x≤y)之間的所有元素(注意:x和y是給定的參數(shù),可以和表中的元素相同,也可以不同)。voidDeletElem(SqListL,intx,inty){數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第4頁(yè)。數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第4頁(yè)。inti=0;intj;p=&L.next;for(i;i<L.length;i++){if(p.data>=x||p.data<=y){q=p;(p-1).next=p.next;p++;free(q);}elsep++;}9設(shè)A和B是兩個(gè)按元素值遞增有序的單鏈表,寫一算法將A和B歸并為按按元素值遞減有序的單鏈表C,試分析算法的時(shí)間復(fù)雜度。voidListInsert(SqlistA,SqListB,SqListC){ElemType*p,*q,*s;數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第5頁(yè)。數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第5頁(yè)。q=&C;s=&C;while(p.next!=NULL||q.next!=NULL){if(p.next.data<=q.next.data){if(s.next!=NULL){p.next=s.next;s.next=p.next;P++;}else{if(s.next!=NULL)q.next=s.next;s.next=q.next;q++;}}while(p.next!=NULL){p.next=s.next;數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第6頁(yè)。數(shù)據(jù)結(jié)構(gòu)作業(yè)全文共7頁(yè),當(dāng)前為第6頁(yè)。}w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論