2023年電大數(shù)據(jù)結(jié)構(gòu)本形成性考核冊(cè)作業(yè)_第1頁
2023年電大數(shù)據(jù)結(jié)構(gòu)本形成性考核冊(cè)作業(yè)_第2頁
2023年電大數(shù)據(jù)結(jié)構(gòu)本形成性考核冊(cè)作業(yè)_第3頁
2023年電大數(shù)據(jù)結(jié)構(gòu)本形成性考核冊(cè)作業(yè)_第4頁
2023年電大數(shù)據(jù)結(jié)構(gòu)本形成性考核冊(cè)作業(yè)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(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è)冊(cè)使用說明本作業(yè)冊(cè)是中央廣播電視大學(xué)計(jì)算機(jī)科與技術(shù)專業(yè)(本科)數(shù)據(jù)結(jié)構(gòu)(本)課程形成性考核的依據(jù),與《數(shù)據(jù)結(jié)構(gòu)(本科)》教材(李偉生主編,中央電大出版社出版)配套使用。數(shù)據(jù)結(jié)構(gòu)(本)課程是中央廣播電視大學(xué)計(jì)算機(jī)科學(xué)技術(shù)專業(yè)的一門統(tǒng)設(shè)必修、學(xué)位課程,4學(xué)分,共72學(xué)時(shí)。其中實(shí)驗(yàn)24學(xué)時(shí),開設(shè)一學(xué)期。本課程的特點(diǎn)是綜合性、實(shí)踐性強(qiáng),內(nèi)容抽象,在專業(yè)中具有承上啟下的作用。因此,在學(xué)習(xí)本課程時(shí),要注意理論聯(lián)系實(shí)際,結(jié)合教學(xué)內(nèi)容進(jìn)行上機(jī)實(shí)踐,認(rèn)真完畢作業(yè)和實(shí)驗(yàn)內(nèi)容。本課程的總成績(jī)按百分制記分,其中形成性考核所占的比例為30%,終結(jié)性考試占70%(閉卷,答題時(shí)限為90分鐘)。課程總成績(jī)達(dá)成60分及以上者為合格,可以獲得該課程的學(xué)分。本課程的學(xué)位課程學(xué)分為70分,即課程總成績(jī)達(dá)成70分及以上者有資格申請(qǐng)專業(yè)學(xué)位。本課程共設(shè)計(jì)了4次形考作業(yè),每次形考作業(yè)均涉及實(shí)驗(yàn)內(nèi)容,由各地電大根據(jù)學(xué)生對(duì)作業(yè)中各種題型練習(xí)和實(shí)驗(yàn)的完畢情況進(jìn)行考核。對(duì)于實(shí)驗(yàn)內(nèi)容規(guī)定按實(shí)驗(yàn)規(guī)定認(rèn)真完畢,并提交實(shí)驗(yàn)報(bào)告。數(shù)據(jù)結(jié)構(gòu)(本)課程作業(yè)作業(yè)1(本部分作業(yè)覆蓋教材第1-2章的內(nèi)容)一、單項(xiàng)選擇題1.在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為()。A.動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)D.內(nèi)部結(jié)構(gòu)和外部機(jī)構(gòu)2.下列說法中,不對(duì)的的是()。A.數(shù)據(jù)元素是數(shù)據(jù)的基本單位B.數(shù)據(jù)項(xiàng)是數(shù)據(jù)中不可分割的最小可標(biāo)記單位C.?dāng)?shù)據(jù)可有若干個(gè)數(shù)據(jù)元素構(gòu)成D.?dāng)?shù)據(jù)項(xiàng)可由若干個(gè)數(shù)據(jù)元素構(gòu)成3.一個(gè)存儲(chǔ)結(jié)點(diǎn)存儲(chǔ)一個(gè)()。A.數(shù)據(jù)項(xiàng)B.數(shù)據(jù)元素C.?dāng)?shù)據(jù)結(jié)構(gòu)D.數(shù)據(jù)類型4.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的()。A.存儲(chǔ)結(jié)構(gòu)B.物理結(jié)構(gòu)C.邏輯結(jié)構(gòu)D.物理和存儲(chǔ)結(jié)構(gòu)5.下列的敘述中,不屬于算法特性的是()。A.有窮性B.輸入性C.可行性D.可讀性6.算法分析的目的是()。A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關(guān)系C.分析算法的效率以求改善D.分析算法的易懂性和文檔性7.?dāng)?shù)據(jù)結(jié)構(gòu)是一門研究計(jì)算機(jī)中(

)對(duì)象及其關(guān)系的科學(xué)。A.數(shù)值運(yùn)算

B.非數(shù)值運(yùn)算C.集合

D.非集合8.算法的時(shí)間復(fù)雜度與()有關(guān)。A.所使用的計(jì)算機(jī)B.與計(jì)算機(jī)的操作系統(tǒng)C.與算法自身D.與數(shù)據(jù)結(jié)構(gòu)9.設(shè)有一個(gè)長(zhǎng)度為n的順序表,要在第i個(gè)元素之前(也就是插入元素作為新表的第i個(gè)元素),則移動(dòng)元素個(gè)數(shù)為()。A.n-i+1B.n-iC.n-i-1D.i10.設(shè)有一個(gè)長(zhǎng)度為n的順序表,要?jiǎng)h除第i個(gè)元素移動(dòng)元素的個(gè)數(shù)為()。A.n-i+1B.n-iC.n-i-1D.i11.在一個(gè)單鏈表中,p、q分別指向表中兩個(gè)相鄰的結(jié)點(diǎn),且q所指結(jié)點(diǎn)是p所指結(jié)點(diǎn)的直接后繼,現(xiàn)要?jiǎng)h除q所指結(jié)點(diǎn),可用語句()。A.p=q->nextB.p->next=qC.p->next=qnextD.q->next=NULL12.在一個(gè)單鏈表中p所指結(jié)點(diǎn)之后插入一個(gè)s所指的結(jié)點(diǎn)時(shí),可執(zhí)行()。A.p->next=s;snext=pnextB.p->next=snext;C.p=s->nextD.s->next=p->next;p->next=s;13.非空的單向循環(huán)鏈表的尾結(jié)點(diǎn)滿足(

)(設(shè)頭指針為head,指針p指向尾結(jié)點(diǎn))。A..P->next==NULLB.P==NULLC.P->next==headD.P==head14.鏈表不具有的特點(diǎn)是()。A.可隨機(jī)訪問任一元素B.插入刪除不需要移動(dòng)元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與線性表長(zhǎng)度成正比15.帶頭結(jié)點(diǎn)的鏈表為空的判斷條件是(

)(設(shè)頭指針為head)。A.head==NULLB.head->next==NULL

C.head->next==head

D.head!=NULL16.在一個(gè)單鏈表中,p、q分別指向表中兩個(gè)相鄰的結(jié)點(diǎn),且q所指結(jié)點(diǎn)是p所指結(jié)點(diǎn)的直接后繼,現(xiàn)要?jiǎng)h除q所指結(jié)點(diǎn),可用語句(

)。A.p=q->nextB.p->next=q

C.p->next=q->nextD.q->next=NULL17.在一個(gè)鏈隊(duì)中,假設(shè)f和r分別為隊(duì)頭和隊(duì)尾指針,則刪除一個(gè)結(jié)點(diǎn)的運(yùn)算為()。A.r=f->next;B.r=r->next;C.f=f->next;D.f=r->next;18.在一個(gè)鏈隊(duì)中,假設(shè)f和r分別為隊(duì)頭和隊(duì)尾指針,則插入s所指結(jié)點(diǎn)的運(yùn)算為()。A.f->next=s;f=s;B.r->next=s;r=s;C.s->next=r;r=s;D.s->next=f;f=s;19.一個(gè)順序表第一個(gè)元素的存儲(chǔ)地址是90,每個(gè)元素的長(zhǎng)度為2,則第6個(gè)元素的地址是()。A.98B.100C.102D.120.有關(guān)線性表的對(duì)的說法是()。A.每個(gè)元素都有一個(gè)直接前驅(qū)和一個(gè)直接后繼B.線性表至少規(guī)定一個(gè)元素C.表中的元素必須按由小到大或由大到下排序D.除了一個(gè)和最后一個(gè)元素外,其余元素都有一個(gè)且僅有一個(gè)直接前驅(qū)和一個(gè)直接后繼二、填空題1.在一個(gè)長(zhǎng)度為n的順序存儲(chǔ)結(jié)構(gòu)的線性表中,向第i(1in+1)個(gè)元素之前插入新元素時(shí),需向后移動(dòng)個(gè)數(shù)據(jù)元素。2.從長(zhǎng)度為n的采用順序存儲(chǔ)結(jié)構(gòu)的線性表中刪除第i(1in+1)個(gè)元素,需向前移動(dòng)個(gè)元素。3.?dāng)?shù)據(jù)結(jié)構(gòu)按結(jié)點(diǎn)間的關(guān)系,可分為4種邏輯結(jié)構(gòu):、、、。4.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表達(dá)稱為或。5.除了第1個(gè)和最后一個(gè)結(jié)點(diǎn)外,其余結(jié)點(diǎn)有且只有一個(gè)前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)為,每個(gè)結(jié)點(diǎn)可有任意多個(gè)前驅(qū)和后繼結(jié)點(diǎn)數(shù)的結(jié)構(gòu)為。6.算法的5個(gè)重要特性是、、、、。7.?dāng)?shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素存在多對(duì)多的關(guān)系稱為________結(jié)構(gòu)。8.?dāng)?shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素存在一對(duì)多的關(guān)系稱為__(dá)__(dá)____(dá)結(jié)構(gòu)。9.數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素存在一對(duì)一的關(guān)系稱為________(dá)結(jié)構(gòu)。10.規(guī)定在n個(gè)數(shù)據(jù)元素中找其中值最大的元素,設(shè)基本操作為元素間的比較。則比較的次數(shù)和算法的時(shí)間復(fù)雜度分別為______(dá)__和__(dá)______。11.在一個(gè)單鏈表中p所指結(jié)點(diǎn)之后插入一個(gè)s所指結(jié)點(diǎn)時(shí),應(yīng)執(zhí)行________和p->next=s;的操作。12.設(shè)有一個(gè)頭指針為head的單向循環(huán)鏈表,p指向鏈表中的結(jié)點(diǎn),若p->next==______(dá)__(dá),則p所指結(jié)點(diǎn)為尾結(jié)點(diǎn)。13.在一個(gè)單向鏈表中,要?jiǎng)h除p所指結(jié)點(diǎn),已知q指向p所指結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn)。則可以用操作__(dá)___(dá)___。14.設(shè)有一個(gè)頭指針為head的單向鏈表,p指向表中某一個(gè)結(jié)點(diǎn),且有p->next==NULL,通過操作____(dá)____(dá),就可使該單向鏈表構(gòu)導(dǎo)致單向循環(huán)鏈表。15.每個(gè)結(jié)點(diǎn)只包含一個(gè)指針域的線性表叫。16.線性表具有和兩種存儲(chǔ)結(jié)構(gòu)。17.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯關(guān)系上描述數(shù)據(jù),它與數(shù)據(jù)的關(guān)系無關(guān),是獨(dú)立于計(jì)算機(jī)的。18.在雙向循環(huán)鏈表的每個(gè)結(jié)點(diǎn)中包含指針域,其中next指向它的,prior指向它的,而頭結(jié)點(diǎn)的prior指向,尾結(jié)點(diǎn)的next指向。19.單向循環(huán)鏈表是單向鏈表的一種擴(kuò)充,當(dāng)單向鏈表帶有頭結(jié)點(diǎn)時(shí),把單向鏈表中尾結(jié)點(diǎn)的指針域由空指針改為;當(dāng)單向鏈表不帶頭結(jié)點(diǎn)時(shí),則把單向鏈表中尾結(jié)點(diǎn)的指針域由空指針改為指向。20.線性鏈表的邏輯關(guān)系時(shí)通過每個(gè)結(jié)點(diǎn)指針域中的指針來表達(dá)的。其邏輯順序和物理存儲(chǔ)順序不再一致,而是一種存儲(chǔ)結(jié)構(gòu),又稱為。三、問答題1.簡(jiǎn)述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的區(qū)別與聯(lián)系,它們?nèi)绾斡绊懰惴ǖ脑O(shè)計(jì)與實(shí)現(xiàn)?2.解釋順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的特點(diǎn),并比較順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的優(yōu)缺陷。3.什么情況下用順序表比鏈表好?4.頭指針、頭結(jié)點(diǎn)、第一個(gè)結(jié)點(diǎn)(或稱首元結(jié)點(diǎn))的區(qū)別是什么?5.解釋帶頭結(jié)點(diǎn)的單鏈表和不帶頭結(jié)點(diǎn)的單鏈表的區(qū)別。四、程序填空題1.下列是用尾插法建立帶頭結(jié)點(diǎn)的且有n個(gè)結(jié)點(diǎn)的單向鏈表的算法,請(qǐng)?jiān)诳崭駜?nèi)填上適當(dāng)?shù)恼Z句。NODE*create1(n)/*對(duì)線性表(1,2,.....,n),建立帶頭結(jié)點(diǎn)的單向鏈表*/{NODE*head,*p,*q;inti;p=(NODE*)malloc(sizeof(NODE));head=p;q=p;p->next=NULL;for(i=1;i<=n;i++){p=(NODE*)malloc(sizeof(NODE));(1);?(2); (3);?(4);}return(head);}2.下列是用頭插法建立帶頭結(jié)點(diǎn)的且有n個(gè)結(jié)點(diǎn)的單向鏈表的算法,請(qǐng)?jiān)诳崭駜?nèi)填上適當(dāng)?shù)恼Z句。NODE*creat(yī)e2(n)/*對(duì)線性表(n,n-1,.....,1),建立帶頭結(jié)點(diǎn)的線性鏈表*/{NODE*head,*p,*q;inti;p=(NODE*)malloc(sizeof(NODE));(1);p->next=NULL;(2);for(i=1;i<=n;i++){p=(NODE*)malloc(sizeof(NODE));p->data=i;?if(i==1)?(3);??else(4);(5);}return(head);}3.下列是在具有頭結(jié)點(diǎn)單向列表中刪除第i個(gè)結(jié)點(diǎn),請(qǐng)?jiān)诳崭駜?nèi)填上適當(dāng)?shù)恼Z句。intdelete(NODE*head,inti){NODE*p,*q;intj;q=head;j=0;while((q!=NULL)&&(j<i-1))/*找到要?jiǎng)h除結(jié)點(diǎn)的直接前驅(qū),并使q指向它*/{q=q->next;j++;}if(q==NULL)return(0);(1);(2);free(cuò)(p);return(1);}五、完畢:實(shí)驗(yàn)1――線性表根據(jù)實(shí)驗(yàn)規(guī)定(見教材P201-202)認(rèn)真完畢本實(shí)驗(yàn),并提交實(shí)驗(yàn)報(bào)告。數(shù)據(jù)結(jié)構(gòu)(本)課程作業(yè)2(本部分作業(yè)覆蓋教材第3-5章的內(nèi)容)一、單項(xiàng)選擇題1.若讓元素1,2,3依次進(jìn)棧,則出棧順序不也許為()。A.3,2,1B.2,1,3C.3,1,2D.1,3,22.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4。則隊(duì)列的輸出序列是()。A.4,3,2,1B.1,2,3,4C.1,4,3,2D.3,2,4,13.向順序棧中壓入新元素時(shí),應(yīng)當(dāng)()。A.先移動(dòng)棧頂指針,再存入元素B.先存入元素,再移動(dòng)棧頂指針C.先后順序無關(guān)緊要D.同時(shí)進(jìn)行4.在一個(gè)棧頂指針為top的鏈棧中,將一個(gè)p指針?biāo)傅慕Y(jié)點(diǎn)入棧,應(yīng)執(zhí)行()。A.top->next=p;B.p->next=top->next;top->next=p;C.p->next=top;top=p;D.p->next=top->next;top=top->next;5.在一個(gè)棧頂指針為top的鏈棧中刪除一個(gè)結(jié)點(diǎn)時(shí),用x保存被刪結(jié)點(diǎn)的值,則執(zhí)行()。A.x=top;top=top->next;B.x=top->data;C.top=top->next;x=top->dat(yī)a;D.x=top->dat(yī)a;top=top->next;6.一般情況下,將遞歸算法轉(zhuǎn)換成等價(jià)的非遞歸算法應(yīng)當(dāng)設(shè)立()。A.棧B.隊(duì)列C.堆?;蜿?duì)列D.?dāng)?shù)組7.表達(dá)式a*(b+c)-d的后綴表達(dá)式是()。A.abcd*+-B.abc+*d-C.a(chǎn)bc*++d-D.-+*abcd8.判斷一個(gè)順序隊(duì)列sq(最多元素為m0)為空的條件是()。A.sq->rear-sq->front==m0B.sq->rear-sq->front-1==m0C.sq->front==sq->rearD.sq->front==sq->rear+19.判斷一個(gè)循環(huán)隊(duì)列Q(最多元素為m0)為空的條件是()。A.Q->front==Q->rearB.Q->front!=Q->rearC.Q->front==(Q->rear+1)%m0D.Q->front!=(Q->rear+1)%m010.判斷一個(gè)循環(huán)隊(duì)列Q(最多元素為m0)為空的條件是()。A.Q->front==Q->rearB.Q->front!=Q->rearC.Q->front==(Q->rear+1)%m0D.Q->front!=(Q->rear+1)%m011.判斷棧S滿(元素個(gè)數(shù)最多n個(gè))的條件是()。A.s->top==0B.s->top!=0C.s->top==n-1D.s->top!=n-112.一個(gè)隊(duì)列的入隊(duì)順序是a,b,c,d,則離隊(duì)的順序是()。A.a(chǎn),d,cbB.a,b,c,dC.d,c,b,aD.c,b,d,a13.假如以鏈表作為棧的存儲(chǔ)結(jié)構(gòu),則退棧操作時(shí)()。A.必須判斷棧是否滿B.判斷棧元素類型C.必須判斷棧是否空D.對(duì)棧不作任何判斷14.在解決計(jì)算機(jī)主機(jī)與打印機(jī)之間速度不匹配問題時(shí)通常設(shè)立一個(gè)打印數(shù)據(jù)緩沖區(qū),主機(jī)將要輸出的數(shù)據(jù)依次寫入緩沖區(qū)中,而打印機(jī)則從緩沖區(qū)中取出數(shù)據(jù)打印,該緩沖區(qū)應(yīng)當(dāng)是一個(gè)()結(jié)構(gòu)。A.堆棧B.隊(duì)列C.數(shù)組D.先性表15.一個(gè)遞歸算法必須涉及()。A.遞歸部分? B.終止條件和遞歸部分 C.迭代部分?D.終止條件和迭代部分16.從一個(gè)棧頂指針為top的鏈棧中刪除一個(gè)結(jié)點(diǎn)時(shí),用變量x保存被刪結(jié)點(diǎn)的值,則執(zhí)行()。A.x=top->data;top=top->next;B.x=top->data;C.top=top->next;x=top->data;D.top=top->next;x=data;17.在一個(gè)鏈隊(duì)中,假設(shè)f和r分別為隊(duì)頭和隊(duì)尾指針,則刪除一個(gè)結(jié)點(diǎn)的運(yùn)算為()。A.r=f->next;B.r=r->next;C.f=f->next;D.f=r->next;18.在一個(gè)鏈隊(duì)中,假設(shè)f和r分別為隊(duì)頭和隊(duì)尾指針,則插入s所指結(jié)點(diǎn)的運(yùn)算為()。A.f->next=s;f=s;B.r->next=s;r=s;C.s->next=r;r=s;D.s->next=f;f=s;19.以下陳述中對(duì)的的是()。A.串是一種特殊的線性表B.串的長(zhǎng)度必須大于零C.串中元素只能是字母D.空串就是空白串20.設(shè)有兩個(gè)串p和q,其中q是p的子串,q在p中初次出現(xiàn)的位置的算法稱為()。A.求子串B.連接C.匹配D.求串長(zhǎng)21.串是()。A.不少于一個(gè)字母的序列B.任意個(gè)字母的序列C.不少于一個(gè)字符的序列D.有限個(gè)字符的序列22.串的長(zhǎng)度是指()。A.串中所含不同字母的個(gè)數(shù)B.串中所含字符的個(gè)數(shù)C.串中所含不同字符的個(gè)數(shù)D.串中所含非空格字符的個(gè)數(shù)23.若串S==“English”,其子串的個(gè)數(shù)是()。A.9B.16C24.下面關(guān)于串的敘述中,不對(duì)的的是()。A.串是字符的有限序列B.空串是由空格構(gòu)成的串C.模式匹配是串的一種重要運(yùn)算D.串即可以采用順序存儲(chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)25.串與普通的線性表相比較,它的特殊性體現(xiàn)在()。A.順序的存儲(chǔ)結(jié)構(gòu)B.鏈接的存儲(chǔ)結(jié)構(gòu)C.數(shù)據(jù)元素是一個(gè)字符D.數(shù)據(jù)元素可以任意26.空串與空格串()。A.相同B.不相同C.也許相同D.無法擬定27.兩個(gè)字符串相等的條件是()。A.兩串的長(zhǎng)度相等B.兩串包含的字符相同C.兩串的長(zhǎng)度相等,并且兩串包含的字符相同D.兩串的長(zhǎng)度相等,并且相應(yīng)位置上的字符相同28.在實(shí)際應(yīng)用中,要輸入多個(gè)字符串,且長(zhǎng)度無法預(yù)定。則應(yīng)當(dāng)采用()存儲(chǔ)比較合適()。A.鏈?zhǔn)剑拢樞颍?堆結(jié)構(gòu)D.無法擬定29.一維數(shù)組A采用順序存儲(chǔ)結(jié)構(gòu),每個(gè)元素占用6個(gè)字節(jié),第6個(gè)元素的存儲(chǔ)地址為100,則該數(shù)組的首地址是()。A.64B.28C.70D.9030.稀疏矩陣采用壓縮存儲(chǔ)的目的重要是()。A.表達(dá)變得簡(jiǎn)樸B.對(duì)矩陣元素的存取變得簡(jiǎn)樸C.去掉矩陣中的多余元素D.減少不必要的存儲(chǔ)空間的開銷31.一個(gè)非空廣義表的表頭()。A.不也許是原子B.只能是子表C.只能是原子D.可以是子表或原子32.常對(duì)數(shù)組進(jìn)行的兩種基本操作是()。A.建立與刪除B.索引與、和修改C.查找和修改D.查找與索引33.設(shè)二維數(shù)組A[5][6]按行優(yōu)先順序存儲(chǔ)在內(nèi)存中,已知A[0][0]起始地址為1000,每個(gè)數(shù)組元素占用5個(gè)存儲(chǔ)單元,則元素A[4][4]的地址為()。A.1140B.1145C.1120D.112534.設(shè)有一個(gè)20階的對(duì)稱矩陣A,采用壓縮存儲(chǔ)的方式,將其下三角部分以行序?yàn)橹餍虼鎯?chǔ)到一維數(shù)組B中(數(shù)組下標(biāo)從1開始),則矩陣中元素a9,2在一維數(shù)組B中的下標(biāo)是()。A.41B.32C35.一個(gè)非空廣義表的表頭()。A.不也許是子表B.只能是子表C.只能是原子D.可以是子表或原子二、填空題1.棧是限定在表的一端進(jìn)行插入和刪除操作的線性表,又稱為。2.隊(duì)列的特性是。3.往棧中插入元素的操作方式是:先,后。4.刪除棧中元素的操作方式是:先,后。5.循環(huán)隊(duì)列隊(duì)頭指針在隊(duì)尾指針位置,隊(duì)列是“滿”狀態(tài)6.在隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)中,當(dāng)插入一個(gè)新的隊(duì)列元素時(shí),尾指針,當(dāng)刪除一個(gè)元素隊(duì)列時(shí),頭指針。7.循環(huán)隊(duì)列的引入,目的是為了克服。8.向順序棧插入新元素分為三步:第一步進(jìn)行判斷,判斷條件是;第二步是修改;第三步是把新元素賦給。同樣從順序棧刪除元素分為三步:第一步進(jìn)行判斷,判斷條件是。第二步是把;第三步。9.假設(shè)以S和X分別表達(dá)入棧和出棧操作,則對(duì)輸入序列a,b,c,d,e一系列棧操作SSXSXSSXXX之后,得到的輸出序列為。10.一個(gè)遞歸算法必須涉及和。11.判斷一個(gè)循環(huán)隊(duì)列LU(最多元素為m0)為空的條件是。12.在將中綴表達(dá)式轉(zhuǎn)換成后綴表達(dá)式和計(jì)算后綴表達(dá)式的算法中,都需要使用棧,對(duì)于前者,進(jìn)入棧中的元素為表達(dá)式中的,而對(duì)于后者,進(jìn)入棧的元素為,中綴表達(dá)式(a+b)/c-(f-d/c)所相應(yīng)的后綴表達(dá)式是。16.向一個(gè)棧頂指針為h的鏈棧中插入一個(gè)s所指結(jié)點(diǎn)時(shí),可執(zhí)行______(dá)__和h=s;操作。(結(jié)點(diǎn)的指針域?yàn)閚ext)17.從一個(gè)棧頂指針為h的鏈棧中刪除一個(gè)結(jié)點(diǎn)時(shí),用x保存被刪結(jié)點(diǎn)的值,可執(zhí)行x=h->dat(yī)a;和___(dá)__(dá)___。(結(jié)點(diǎn)的指針域?yàn)閚ext)18.在一個(gè)鏈隊(duì)中,設(shè)f和r分別為隊(duì)頭和隊(duì)尾指針,則插入s所指結(jié)點(diǎn)的操作為___(dá)_____和r=s;(結(jié)點(diǎn)的指針域?yàn)閚ext)19.在一個(gè)鏈隊(duì)中,設(shè)f和r分別為隊(duì)頭和隊(duì)尾指針,則刪除一個(gè)結(jié)點(diǎn)的操作為________。(結(jié)點(diǎn)的指針域?yàn)閚ext)20.串是一種特殊的線性表,其特殊性表現(xiàn)在組成串的數(shù)據(jù)元素都是。21.串的兩種最基本的存儲(chǔ)方式是和。22.空串的長(zhǎng)度是;空格串的長(zhǎng)度是。23.需要壓縮存儲(chǔ)的矩陣可分為矩陣和矩陣兩種。24.設(shè)廣義表L=((),()),則表頭是,表尾是,L的長(zhǎng)度是。25.廣義表A((a,b,c),(d,e,f))的表尾為。26.兩個(gè)串相等的充足必要條件是_____(dá)____(dá)_。27.設(shè)有n階對(duì)稱矩陣A,用數(shù)組s進(jìn)行壓縮存儲(chǔ),當(dāng)ij時(shí),A的數(shù)組元素aij相應(yīng)于數(shù)組s的數(shù)組元素的下標(biāo)為_______。(數(shù)組元素的下標(biāo)從1開始)28.對(duì)稀疏矩陣進(jìn)行壓縮存儲(chǔ),矩陣中每個(gè)非零元素相應(yīng)的三元組涉及該元素的__(dá)___(dá)__(dá)、_______(dá)和___(dá)___(dá)_三項(xiàng)信息。三、問答題1.簡(jiǎn)述棧和一般線性表的區(qū)別。2.簡(jiǎn)述隊(duì)列和一般線性表的區(qū)別。3.鏈棧中為什么不設(shè)頭結(jié)點(diǎn)?4.運(yùn)用一個(gè)棧,則:(1)假如輸入序列由A,B,C組成,試給出所有也許的輸出序列和不也許的輸出序列。(2)假如輸入序列由A,B,C,D組成,試給出所有也許的輸出序列和不也許的輸出序列。5.用S表達(dá)入棧操作,X表達(dá)出棧操作,若元素入棧順序?yàn)?234,為了得到1342出棧順序,相應(yīng)的S和X操作串是什么?6.有5個(gè)元素,其入棧順序?yàn)?A、B、C、D、E,在各種也許的出棧順序中,以元素C、D最先的順序有哪幾個(gè)?7.寫出以下運(yùn)算式的后綴算術(shù)運(yùn)算式⑴3x2+x-1/x+5⑵(A+B)*C-D/(E+F)+G8.在什么情況下可以用遞歸解決問題?在寫遞歸程序時(shí)應(yīng)注意什么?9.簡(jiǎn)述廣義表和線性表的區(qū)別和聯(lián)系。四、程序填空題1.在下面空格處填寫適當(dāng)?shù)恼Z句,以使下面的循環(huán)隊(duì)列的入隊(duì)和出隊(duì)算法完整。defineTRUE1;defineFALSE0;defineMAXSIZE100;typedefcharelemtype;typedefstruct{Elemtypequeue[MAXSIZE];intfront,rear;}sequeuetype;SequeuetypeQ;intencqueue(sequeuetype*Q,elemtypex)if((1))Printf(〝Thecicularqueueisfull!\n〞);return(FALSE);else(2)(3)return(TRUE);}/*encqueue*/elemtypedel_cqueue(sequeuetype*Q)if((4))Printf(〝Thequeueisempty?。躰〞)return(NULL);else(5)Return(Q-queue[Q->front]);/*del_cqueue*/2.在下面空格處填寫適當(dāng)?shù)恼Z句,以使下面的鏈?zhǔn)疥?duì)列取出元素的算法完整。intwrite(LinkQueue*q){QueueNode*p;if(q->front==q->rear)/*隊(duì)空*/{printf(“underflow”);exit(0);}while(q->front->next!=NULL){p=q->front->next;(1)printf(“%4d”,p->data);(2)}(3);/*隊(duì)空時(shí),頭尾指針指向頭結(jié)點(diǎn)*/}五、綜合題1.設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素e1,e2,e3,e4,e5和e6依次通過S,一個(gè)元素出棧后即進(jìn)隊(duì)列Q,若6個(gè)元素出隊(duì)的序列是e2,e4,e3,e6,e5,e1,則棧S的容量至少應(yīng)當(dāng)是多少?2.假設(shè)用循環(huán)單鏈表實(shí)現(xiàn)循環(huán)隊(duì)列,該隊(duì)列只使用一個(gè)尾指針rear,其相應(yīng)的存儲(chǔ)結(jié)構(gòu)和基本算法如下;(1)初始化隊(duì)列initqueue(Q):建立一個(gè)新的空隊(duì)列Q。(2)入隊(duì)列enqueue(Q,x):將元素x插入到隊(duì)列Q中。(3)出隊(duì)列delqueue(Q):從隊(duì)列Q中退出一個(gè)元素。(4)取隊(duì)首元素gethead(Q):返回當(dāng)前隊(duì)首元素。(5)判斷隊(duì)列是否為空:emptyqueue(Q)。(6)顯示隊(duì)列中元素:dispqueue(Q)。六、完畢:實(shí)驗(yàn)2――棧、隊(duì)列、遞歸程序設(shè)計(jì)根據(jù)實(shí)驗(yàn)規(guī)定(見教材P203)認(rèn)真完畢本實(shí)驗(yàn),并提交實(shí)驗(yàn)報(bào)告。數(shù)據(jù)結(jié)構(gòu)(本)課程作業(yè)作業(yè)3(本部分作業(yè)覆蓋教材第6-7章的內(nèi)容)一、單項(xiàng)選擇題1.假定一棵二叉樹中,雙分支結(jié)點(diǎn)數(shù)為15,單分支結(jié)點(diǎn)數(shù)為30,則葉子結(jié)點(diǎn)數(shù)為()。A.15B.16C2.二叉樹第k層上最多有()個(gè)結(jié)點(diǎn)。A.2kB.2k-1C.2k-1D.2k-13.二叉樹的深度為k,則二叉樹最多有()個(gè)結(jié)點(diǎn)。A.2kB.2k-1C.2k-1D.2k-14.設(shè)某一二叉樹先序遍歷為abdec,中序遍歷為dbeac,則該二叉樹后序遍歷的順序是()。A.abdecB.debacC.debcaD.a(chǎn)bedc5.樹最適合于用來表達(dá)()。A.線性結(jié)構(gòu)的數(shù)據(jù)B.順序結(jié)構(gòu)的數(shù)據(jù)C.元素之間無前驅(qū)和后繼關(guān)系的數(shù)據(jù)D.元素之間有包含和層次關(guān)系的數(shù)據(jù)6.設(shè)a,b為一棵二叉樹的兩個(gè)結(jié)點(diǎn),在后續(xù)遍歷中,a在b前的條件是()。A.a在b上方B.a在b下方C.a在b左方D.a(chǎn)在b右方7.權(quán)值為{1,2,6,8}的四個(gè)結(jié)點(diǎn)構(gòu)成的哈夫曼樹的帶權(quán)途徑長(zhǎng)度是()。A.18B.28C.19D.298.將具有150個(gè)結(jié)點(diǎn)的完全二叉樹從根這一層開始,每一層從左到右依次對(duì)結(jié)點(diǎn)進(jìn)行編號(hào),根結(jié)點(diǎn)的編號(hào)為1,則編號(hào)為69的結(jié)點(diǎn)的雙親結(jié)點(diǎn)的編號(hào)為()。A.33B.34C.35D.369.假如將給定的一組數(shù)據(jù)作為葉子數(shù)值,所構(gòu)造出的二叉樹的帶權(quán)途徑長(zhǎng)度最小,則該樹稱為()。A.哈夫曼樹B.平衡二叉樹C.二叉樹D.完全二叉樹10.下列有關(guān)二叉樹的說法對(duì)的的是()。A.二叉樹中度為0的結(jié)點(diǎn)的個(gè)數(shù)等于度為2的結(jié)點(diǎn)的個(gè)數(shù)加1B.二叉樹中結(jié)點(diǎn)個(gè)數(shù)必大于0C.完全二叉樹中,任何一個(gè)結(jié)點(diǎn)的度,或者為0或者為2D.二叉樹的度是211.在一棵度為3的樹中,度為3的結(jié)點(diǎn)個(gè)數(shù)為2,度為2的結(jié)點(diǎn)個(gè)數(shù)為1,則度為0的結(jié)點(diǎn)個(gè)數(shù)為()。A.4B.5C.6D.712.在一棵度具有5層的滿二叉樹中結(jié)點(diǎn)總數(shù)為()。A.31B.32C.33D.1613.運(yùn)用n個(gè)值作為葉結(jié)點(diǎn)的權(quán)生成的哈夫曼樹中共包具有()個(gè)結(jié)點(diǎn)。A.nB.n+1C.2*nD.2*n-114.運(yùn)用n個(gè)值作為葉結(jié)點(diǎn)的權(quán)生成的哈夫曼樹中共包具有()個(gè)雙支結(jié)點(diǎn)。A.nB.n-1C.n+1D.215.運(yùn)用3、6、8、12這四個(gè)值作為葉子結(jié)點(diǎn)的權(quán),生成一棵哈夫曼樹,該樹中所有葉子的最長(zhǎng)帶權(quán)途徑長(zhǎng)度為()。A.18B.16C.12D.316.在一棵樹中,()沒有前驅(qū)結(jié)點(diǎn)。A.分支結(jié)點(diǎn)B.葉結(jié)點(diǎn)C.樹根結(jié)點(diǎn)D.空結(jié)點(diǎn)17.在一棵二叉樹中,若編號(hào)為i的結(jié)點(diǎn)存在右孩子,則右孩子的順序編號(hào)為()。A.2iB.2i-1D.2i+118.設(shè)一棵哈夫曼樹共有n個(gè)葉結(jié)點(diǎn),則該樹有()個(gè)非葉結(jié)點(diǎn)。A.nB.n-1C.n+119.設(shè)一棵有n個(gè)葉結(jié)點(diǎn)的二叉樹,除葉結(jié)點(diǎn)外每個(gè)結(jié)點(diǎn)度數(shù)都為2,則該樹共有()個(gè)結(jié)點(diǎn)。A.2nB.2n-1C.2n+1D.2n+220.一棵完全二叉樹共有5層,且第5層上有六個(gè)結(jié)點(diǎn),該樹共有()個(gè)結(jié)點(diǎn)。A.20B.21C.23D21.在一個(gè)圖G中,所有頂點(diǎn)的度數(shù)之和等于所有邊數(shù)之和的()倍。A.1/2B.1C.2D.422.在一個(gè)有像圖中,所有頂點(diǎn)的入度之和等于所有頂點(diǎn)的出度之和的()倍。A.鄰接矩陣表達(dá)法B.鄰接表表達(dá)法C.逆鄰接表表達(dá)法D.鄰接表和逆鄰接表23.在圖的存儲(chǔ)結(jié)構(gòu)表達(dá)中,表達(dá)形式唯一的是()。A.nB.n1C.n1D.n/224.一個(gè)具有n個(gè)頂點(diǎn)的無向完全圖包含()條邊。A.n(n1)B.n(n1)C.n(n1)/2D.n(n1)/225.一個(gè)具有n個(gè)頂點(diǎn)的有向完全圖包含()條邊。A.n(n1)B.n(n1)C.n(n1)/2D.n(n1)/226.對(duì)于具有n個(gè)頂點(diǎn)的圖,若采用鄰接矩陣表達(dá),則該矩陣的大小為()。A.nB.n2C.n1D.(n1)27.對(duì)于一個(gè)具有n個(gè)頂點(diǎn)和e條邊的無向圖,若采用鄰接表表達(dá),則表頭向量的大小為()。A.nB.eC.2nD.2e28.對(duì)于一個(gè)具有n個(gè)頂點(diǎn)和e條邊的無向圖,若采用鄰接表表達(dá),則所有頂點(diǎn)鄰接表中的結(jié)點(diǎn)總數(shù)為()。A.nB.eC.2nD.2e29.在有向圖的鄰接表中,每個(gè)頂點(diǎn)鄰接表鏈接著該頂點(diǎn)所有()鄰接點(diǎn)。A.入邊B.出邊C.入邊和出邊D.不是入邊也不是出邊30.在有向圖的逆鄰接表中,每個(gè)頂點(diǎn)鄰接表鏈接著該頂點(diǎn)所有()鄰接點(diǎn)。A.入邊B.出邊C.入邊和出邊D.不是入邊也不是出邊31.鄰接表是圖的一種()。A.順序存儲(chǔ)結(jié)構(gòu)B.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)C.索引存儲(chǔ)結(jié)構(gòu)D.散列存儲(chǔ)結(jié)構(gòu)32.假如從無向圖的任一頂點(diǎn)出發(fā)進(jìn)行一次深度優(yōu)先搜索即可訪問所有頂點(diǎn),則該圖一定是()。A.完全圖B.連通圖C.有回路D.一棵樹33.下列有關(guān)圖遍歷的說法不對(duì)的的是()。A.連通圖的深度優(yōu)先搜索是一個(gè)遞歸過程B.圖的廣度優(yōu)先搜索中鄰接點(diǎn)的尋找具有“先進(jìn)先出”的特性C.非連通圖不能用深度優(yōu)先搜索法D.圖的遍歷規(guī)定每一頂點(diǎn)僅被訪問一次34.無向圖的鄰接矩陣是一個(gè)()。?A.對(duì)稱矩陣B.零矩陣C.上三角矩陣D.對(duì)角矩陣35.圖的深度優(yōu)先遍歷算法類似于二叉樹的()遍歷。A.先序B.中序C.后序D.層次36.已知下圖所示的一個(gè)圖,若從頂點(diǎn)V1出發(fā),按深度優(yōu)先搜索法進(jìn)行遍歷,則也許得到的一種頂點(diǎn)序列為()。A.V1V2V4V8V3V5V6V7B.V1V2V4V5V8V3V6V7C.V1V2V4V8V5V3V6V7D.V1V3V6V7V2V4V5V8V6V6V7V1V2V3V8V4V5二、填空題1.結(jié)點(diǎn)的度是指結(jié)點(diǎn)所擁有的。2.樹的度是指。3.度大于0的結(jié)點(diǎn)稱作或。4.度等于0的結(jié)點(diǎn)稱作或。5.在一棵樹中,每個(gè)結(jié)點(diǎn)的或者說每個(gè)結(jié)點(diǎn)的稱為該結(jié)點(diǎn)的,簡(jiǎn)稱為孩子。6.一個(gè)結(jié)點(diǎn)稱為其后繼結(jié)點(diǎn)的。7.具有的結(jié)點(diǎn)互稱為兄弟結(jié)點(diǎn),簡(jiǎn)稱為兄弟。8.每個(gè)結(jié)點(diǎn)的所有子樹中的結(jié)點(diǎn)被稱為該結(jié)點(diǎn)的。9.從根結(jié)點(diǎn)到該結(jié)點(diǎn)所經(jīng)分支上的所有結(jié)點(diǎn)稱為該結(jié)點(diǎn)的。10.樹的深度或高度是指。11.m(m0)棵互不相交的樹的集合稱為。12.度為k的樹中的第i層上最多有結(jié)點(diǎn)。13.深度為k的二叉樹最多有結(jié)點(diǎn)。14.在一棵二叉樹中,假如樹中的每一層都是滿的,則稱此樹為;但假如出最后一層外,其余層都是滿的,并且最后一層是滿的,或者是在缺少若干連續(xù)個(gè)結(jié)點(diǎn),則稱此二叉樹為。15.具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度是。16.先序遍歷二叉樹的的操作定義為;若二叉樹為空,則為空操作,否則進(jìn)行如下操作,訪問二叉樹的;先序遍歷二叉樹的,先序遍歷二叉樹的。17.中序遍歷二叉樹的的操作定義為;若二叉樹為空,則為空操作,否則進(jìn)行如下操作,中序遍歷二叉樹的;訪問而叉樹的,中序遍歷二叉樹的。18.后序遍歷二叉樹的的操作定義為;若二叉樹為空,則為空操作,否則進(jìn)行如下操作,后序遍歷二叉樹的;后序遍歷二叉樹的,訪問而叉樹的。19.將樹中結(jié)點(diǎn)賦上一個(gè)有著某種意義的實(shí)數(shù),稱此實(shí)數(shù)為該結(jié)點(diǎn)的。20.樹的帶權(quán)途徑長(zhǎng)度為樹中所有葉子結(jié)點(diǎn)的。21.哈夫曼樹又稱為,它是n個(gè)帶權(quán)葉子結(jié)點(diǎn)構(gòu)成的所有二叉樹中帶權(quán)途徑長(zhǎng)度WPL。22.若以4,5,6,7,8作為葉子結(jié)點(diǎn)的權(quán)值構(gòu)造哈夫曼樹,則其帶權(quán)途徑長(zhǎng)度是。23.具有m個(gè)葉子結(jié)點(diǎn)的哈夫曼樹共有結(jié)點(diǎn)。24.在圖中,任何兩個(gè)數(shù)據(jù)元素之間都也許存在關(guān)系,因此圖的數(shù)據(jù)元素之間是一種的關(guān)系。25.圖的鄰接矩陣表達(dá)法是用一個(gè)來表達(dá)圖中頂點(diǎn)之間的相鄰關(guān)系。26.鄰接表是圖中的每個(gè)頂點(diǎn)建立一個(gè)鄰接關(guān)系的。27.圖的遍歷是從圖的某一頂點(diǎn)出發(fā),按照一定的搜索方法對(duì)圖中各做訪問的過程。28.圖的深度優(yōu)先搜索遍歷類似于樹的遍歷。29.圖的廣度優(yōu)先搜索類似于樹的遍歷。30.具有n個(gè)頂點(diǎn)的有向圖的鄰接矩陣,其元素個(gè)數(shù)為。30.具有n個(gè)頂點(diǎn)的無向圖至少有條邊,才干保證其為一個(gè)連通圖。31.圖常用的兩種存儲(chǔ)結(jié)構(gòu)是和。32.一個(gè)AOV網(wǎng)(頂點(diǎn)活動(dòng)圖)應(yīng)當(dāng)是一個(gè)。即不應(yīng)當(dāng)帶有回路,否則回路上的所有活動(dòng)都。33.用鄰接矩陣存儲(chǔ)有向圖G,其第i行的所有元素之和等于頂點(diǎn)i的。34.在有n個(gè)頂點(diǎn)的有向圖中,每個(gè)頂點(diǎn)的度最大可達(dá)。35.在一個(gè)帶權(quán)圖中,兩頂點(diǎn)之間的最段途徑最多通過條邊。36.為了實(shí)現(xiàn)圖的深度優(yōu)先搜索遍歷,其非遞歸的算法中需要使用的一個(gè)輔助數(shù)據(jù)結(jié)構(gòu)為。三、綜合題1.寫出如下圖所示的二叉樹的先序、中序和后序遍歷序列。aajfghidceb2.已知某二叉樹的先序遍歷結(jié)果是:A,B,D,G,C,E,H,L,I,K,M,F和J,它的中序遍歷結(jié)果是:G,D,B,A,L,H,E,K,I,M,C,F(xiàn)和J,請(qǐng)畫出這棵二叉樹,并寫出該二叉樹后續(xù)遍歷的結(jié)果。3.已知一棵完全二叉樹共有892個(gè)結(jié)點(diǎn),求⑴樹的高度⑵葉子結(jié)點(diǎn)數(shù)⑶單支結(jié)點(diǎn)數(shù)⑷最后一個(gè)非終端結(jié)點(diǎn)的序號(hào)4.給出滿足下列條件的所有二叉樹。(1)先序和中序相同(2)中序和后序相同(3)先序和后序相同5.假設(shè)通信用的報(bào)文由9個(gè)字母A、B、C、D、E、F、G、H和I組成,它們出現(xiàn)的頻率分別是:10、20、5、15、8、2、3、7和30。請(qǐng)請(qǐng)用這9個(gè)字母出現(xiàn)的頻率作為權(quán)值求:(1)設(shè)計(jì)一棵哈夫曼樹;(2)計(jì)算其帶權(quán)途徑長(zhǎng)度WPL;(3)寫出每個(gè)字符的哈夫曼編碼。6.請(qǐng)根據(jù)以下帶權(quán)有向圖G(1)給出從結(jié)點(diǎn)v1出發(fā)分別按深度優(yōu)先搜索遍歷G和廣度優(yōu)先搜索遍歷G所得的結(jié)點(diǎn)序列;(2)給出G的一個(gè)拓?fù)湫蛄?(3)給出從結(jié)點(diǎn)v1到結(jié)點(diǎn)v8的最短途徑。7.已知無向圖G描述如下:G=(V,E)V={V1,V2,V3,V4,V5}E={(V1,V2),(V1,V4),(V2,V4),(V3,V4),(V2,V5),(V3,V4),(V3,V5)}(1)畫出G的圖示;(2)然后給出G的鄰接矩陣和鄰接表;(3)寫出每個(gè)頂點(diǎn)的度。8.回答下列問題:⑴對(duì)于存儲(chǔ)結(jié)構(gòu)采用鄰接矩陣的無向圖,如何判斷下列有關(guān)問題?①圖中有多少條邊?②任意兩頂點(diǎn)間是否有邊相連?③任意一個(gè)頂點(diǎn)的度是多少?⑵對(duì)于存儲(chǔ)結(jié)構(gòu)采用鄰接表的有向圖,如何判斷下列有關(guān)問題?①圖中有多少條邊?②圖中是否存在從Vi到Vj的邊?③如何求頂點(diǎn)Vi的入度和出度?四、程序填空題1.下面函數(shù)的功能是返回二叉樹BT中值為X的結(jié)點(diǎn)所在的層號(hào),請(qǐng)?jiān)趧澯袡M線的地方填寫合適內(nèi)容。intNodeLevel(structBinTreeNode*BT,charX){if(BT==NULL)return0;/*空樹的層號(hào)為0*/elseif(BT->dat(yī)a==X)return1;/*根結(jié)點(diǎn)的層號(hào)為1*//*向子樹中查找X結(jié)點(diǎn)*/else{intc1=NodeLevel(BT->left,X);if(c1>=1)___(dá)(1)__(dá)__(dá)__(dá)___(dá)__;intc2=______(2)__(dá)___(dá)_____;if___(3)_____________(dá)____(dá)_;//若樹中不存在X結(jié)點(diǎn)則返回0elsereturn0;}}2.下面函數(shù)的功能是按照?qǐng)D的深度優(yōu)先搜索遍歷的方法,輸出得到該圖的生成樹中的各條邊,請(qǐng)?jiān)趧澯袡M線的地方填寫合適內(nèi)容。voiddfstree(adjmatrixGA,inti,intn){intj;visited[i]=1;(1)if(GA[i][j]!=0&&GA[i][j]!=MaxValue&&!visited[j]){printf("(%d,%d)%d,",i,j,GA[i][j]);(2)}}五、算法設(shè)計(jì)題1.寫一個(gè)將一棵二叉樹復(fù)制給另一棵二叉樹的算法。2.根據(jù)下面函數(shù)聲明編寫出求一棵二叉樹中葉子結(jié)點(diǎn)總數(shù)的算法,該總數(shù)值由函數(shù)返回。假定參數(shù)BT初始指向二叉樹的根結(jié)點(diǎn)。intBTreeLeafCount(structBTree(cuò)Node*BT);3.已知有n個(gè)頂點(diǎn)的有向圖鄰接表,設(shè)計(jì)算法分別實(shí)現(xiàn)下列功能:(1)求出圖G中每個(gè)頂點(diǎn)的出度、入度。(2)計(jì)算圖中度為0的頂點(diǎn)數(shù)。六、完畢:實(shí)驗(yàn)3――棧、隊(duì)列、遞歸程序設(shè)計(jì)實(shí)驗(yàn)4——圖的存儲(chǔ)方式和應(yīng)用根據(jù)實(shí)驗(yàn)規(guī)定(見教材P203)認(rèn)真完畢本實(shí)驗(yàn),并提交實(shí)驗(yàn)報(bào)告。數(shù)據(jù)結(jié)構(gòu)(本)課程作業(yè)(4)(本部分作業(yè)覆蓋教材第8-9章的內(nèi)容)一、單項(xiàng)選擇題1.順序查找方法適合于存儲(chǔ)結(jié)構(gòu)為()的線性表。A.散列存儲(chǔ)B.索引存儲(chǔ)C.散列存儲(chǔ)或索引存儲(chǔ)D.順序存儲(chǔ)或鏈接存儲(chǔ)2.對(duì)線性表進(jìn)行二分查找時(shí),規(guī)定線性表必須()。A.以順序存儲(chǔ)方式B.以鏈接存儲(chǔ)方式C.以順序存儲(chǔ)方式,且數(shù)據(jù)元素有序D.以鏈接存儲(chǔ)方式,且數(shù)據(jù)元素有序3.假如規(guī)定一個(gè)線性表既能較快地查找,又能動(dòng)態(tài)適應(yīng)變化規(guī)定,可以采用()查找方法。A.順序B.分塊C.折半D.散列4.對(duì)于一個(gè)線性表,若規(guī)定既能進(jìn)行較快地插入和刪除,又規(guī)定存儲(chǔ)結(jié)構(gòu)可以反映數(shù)據(jù)元素之間的邏輯關(guān)系,則應(yīng)當(dāng)()。A.以順序存儲(chǔ)方式B.以鏈接存儲(chǔ)方式C.以索引存儲(chǔ)方式D.以散列存儲(chǔ)方式5.采用順序查找方法查找長(zhǎng)度為n的線性表時(shí),每個(gè)元素的平均查找長(zhǎng)度為()。A.nB.n/2C.(n+1)/2D.(n-1)/26.采用折半查找方法查找長(zhǎng)度為n的線性表時(shí),每個(gè)元素的平均查找長(zhǎng)度為()。A.O(n*n)B.O(nlog2n)C.O(n)D.s(log2n)7.哈希函數(shù)有一個(gè)共同的性質(zhì),即函數(shù)值應(yīng)當(dāng)以()取其值域的每個(gè)值。A.最大約率B.最小概率C.平均概率D.同等概率8.有一個(gè)長(zhǎng)度為10的有序表,按折半查找對(duì)該表進(jìn)行查找,在等概率情況下查找成功的平均比較次數(shù)為()。A.29/10B.31/10C9.已知一個(gè)有序表為{11,22,33,44,55,66,77,88,99},則順序查找元素55需要比較()次。A.3B.410.順序查找法與二分查找法對(duì)存儲(chǔ)結(jié)構(gòu)的規(guī)定是()。A.順序查找與二分查找均只是合用于順序表B.順序查找與二分查找均既合用于順序表,也合用于鏈表C.順序查找只是合用于順序表D.二分查找合用于順序表11.有數(shù)據(jù){53,30,37,12,45,24,96},從空二叉樹開始逐個(gè)插入數(shù)據(jù)來形成二叉排序樹,若希望高度最小,應(yīng)當(dāng)選擇的序列是()。A.45,24,53,12,37,96,30B.37,24,12,30,53,45,96C.12,24,30,37,45,53,96D.30,24,12,37,45,96,5312.對(duì)有18個(gè)元素的有序表作二分(折半)查找,則查找A[3]的比較序列的下標(biāo)也許為()。A.1、2、3B.9、5、2、3C.9、5、3D.9、4、2、313.對(duì)于順序存儲(chǔ)的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,則查找元素26的比較次數(shù)是()。A.3B.3C.4D.14.關(guān)于哈希查找的說法對(duì)的的是()。A.除留余數(shù)法是最佳的B.哈希函數(shù)的好壞要根據(jù)具體情況而定C.刪除一個(gè)元素后,不管用哪種方法解決沖突,都只需簡(jiǎn)樸地把該元素刪除掉D.由于沖突是不可避免的,所以裝填因子越小越好15.在所有的排序方法中,關(guān)鍵字比較的次數(shù)與記錄初始排列秩序無關(guān)的是()。A.冒泡排序B.希爾排序C.直接選擇排序D.直接插入排序16.從未排序序列中依次取出元素與已經(jīng)排好序的序列中的元素作比較。將其放入已排序序列的對(duì)的的位置上,此方法稱為()A.插入排序B.選擇排序C.互換排序D.歸并排序17.從未排序序列中挑選元素,并將其放入已排序序列的一端,此方法稱為()。A.插入排序B.互換排序C.選擇排序D.歸并排序18.依次將每?jī)蓚€(gè)相鄰的有序表合并成一個(gè)有序表的排序方法稱為()。 A.插入排序B.互換排序C.選擇排序D.歸并排序19.當(dāng)兩個(gè)元素出現(xiàn)逆序的時(shí)候就互換位置,這種排序方法稱為()。A.插入排序B.互換排序C.選擇排序D.歸并排序20.每次把待排序的區(qū)間劃分為左、右兩個(gè)子區(qū)間,其中左區(qū)間中記錄的關(guān)鍵字均小于等于基準(zhǔn)記錄的關(guān)鍵字,右區(qū)間中記錄的關(guān)鍵字均大于等于基準(zhǔn)記錄的關(guān)鍵字,這種排序稱為()。A.插入排序B.快速排序C.堆排序D.歸并排序21.在正常情況下,直接插入排序的時(shí)間復(fù)雜度為()。A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)22.在正常情況下,冒泡排序的時(shí)間復(fù)雜度為()。A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)23.在歸并排序中,歸并趟數(shù)的數(shù)量級(jí)為()。A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)24.在待排序元素基本有序的情況下,效率最高的排序方法是()。A.插入排序B.快速排序C.堆排序D.歸并排序25.下面幾種排序方法中,規(guī)定內(nèi)存量最大的是()。A.插入排序B.互換排序C.選擇排序D.歸并排序26.在下列排序方法中,關(guān)鍵字比較的次數(shù)與記錄的初始排列秩序無關(guān)的是()。A.希爾排序B.冒泡排序C.插入排序D.選擇排序27.快速排序方法在()情況下最不利于發(fā)揮其長(zhǎng)處。A.要排序的數(shù)據(jù)量太大B.要排序的數(shù)據(jù)中具有多個(gè)相同值C.要排序的數(shù)據(jù)已基本有序D.要排序的數(shù)據(jù)個(gè)數(shù)為奇數(shù)28.下述幾種排序方法中,平均情況下占用內(nèi)存量最大的是()方法。A.插入排序B.選擇排序C.快速排序D.歸并排序29.若構(gòu)造一棵具有n個(gè)結(jié)點(diǎn)的二叉樹排序,在最壞的情況下,其深度不會(huì)超過()。A.n/2B.nC.(n1)/2D.n130.對(duì)數(shù)據(jù)元素序列(49,72,68,13,38,50,97,27)進(jìn)行排序,前三趟排序結(jié)果時(shí)的結(jié)果依次為第一趟:49,72,68,13,38,50,97,27;第二趟:49,68,72,13,38,50,97,27;第三趟:13,49,68,72,38,50,97,27。該排序采用的方法是()。A.插入排序法B.選擇排序法C.冒泡排序法D.堆積排序法31.對(duì)具有n個(gè)元素的任意序列采用插入排序法進(jìn)行排序,排序趟數(shù)為()。A.n-1B.nC.n+1D.log2n32.對(duì)序列(49,38,65,97,76,13,47,50)采用直接插入排序法進(jìn)行排序,要把第七個(gè)元素47插入到已排序中,為尋找插入的合適位置需要進(jìn)行()次元素間的比較。A.3B.4C.5D.33.下面四種排序方法中,()是一種穩(wěn)定性排序方法。A.插入排序法B.選擇排序法C.快速排序法D.希爾排序法34.一組記錄的關(guān)鍵字序列為(46,79,56,38,40,84),運(yùn)用快速排序,以第一個(gè)關(guān)鍵字為分割元素,通過一次劃分后結(jié)果為()。A.40,38,46,79,56,84B.40,38,46,84,56,79C.40,38,46,56,79,84D.38,40,46,56,79,8435.一組記錄的關(guān)鍵字序列為(46,79,56,38,40,84),運(yùn)用堆排序的方法建立的初始堆為()。A.79,46,56,38,40,84B.84,79,56,38,40,46C.84,79,56,46,40,38,D.84,56,79,40,46,3836.一組記錄的關(guān)鍵字序列為(25,48,16,35,79,82,23,40,36,72),其中,具有5個(gè)長(zhǎng)度為2的有序表,按歸并排序的方法對(duì)該序列進(jìn)行一趟歸并后的結(jié)果為()。A.16,25,35,48,23,40,79,82,36,72B.16,25,35,48,79,82,23,36,40,72C.16,25,48,35,79,82,23,36,40,72D.16,25,35,48,79,23,36,40,82,7237.已知10個(gè)數(shù)據(jù)元素為(54,28,16,34,73,62,95,60,26,43),對(duì)該數(shù)列從小到到大排序,通過一趟冒泡排序后的序列為()。A.16,28,34,54,73,62,60,26,43,95B.28,16,34,54,62,73,60,26,43,95C.28,16,34,54,62,60,73,26,43,95D.16,28,34,54,62,60,73,26,43,9538.用某種排序的方法對(duì)線性表(25,84,21,47,15,27,68,35,20)進(jìn)行排序時(shí),元素序列的變化情況如下:(1)25,84,21,47,15,27,68,35,20(2)20,15,21,25,47,27,68,35,84(3)15,20,21,25,35,27,47,68,84(4)15,20,21,25,27,35,47,68,84其所采用的排序方法是()。A.希爾排序B.歸并排序C.快速排序D.直接選擇排序二、填空題1.在各種查找方法中,平均查找長(zhǎng)度與結(jié)點(diǎn)個(gè)數(shù)n無關(guān)的查找方法是。2.假如對(duì)查找表只進(jìn)行查詢某個(gè)特定的數(shù)據(jù)元素是否在查找表中,以及查找

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論