2023年中央電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)數(shù)據(jù)結(jié)構(gòu)本科試卷_第1頁(yè)
2023年中央電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)數(shù)據(jù)結(jié)構(gòu)本科試卷_第2頁(yè)
2023年中央電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)數(shù)據(jù)結(jié)構(gòu)本科試卷_第3頁(yè)
2023年中央電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)數(shù)據(jù)結(jié)構(gòu)本科試卷_第4頁(yè)
2023年中央電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)數(shù)據(jù)結(jié)構(gòu)本科試卷_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

中央電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)數(shù)據(jù)結(jié)構(gòu)(本科)試卷72023年7月已考一、選擇題(每小題1分,共10分)在一個(gè)長(zhǎng)度為n的順序表的任一位置插入一個(gè)新元素的漸進(jìn)時(shí)間復(fù)雜度為()。 ?A.O(n)? ?B.O(n/2)???C.O(1) ??D.O(n2)帶頭結(jié)點(diǎn)的單鏈表first為空的鑒定條件是:? A.first==NULL; B.first->link==NULL;? C.first->link==first;??D.first!=NULL;當(dāng)運(yùn)用大小為n的數(shù)組順序存儲(chǔ)一個(gè)隊(duì)列時(shí),該隊(duì)列的最大長(zhǎng)度為()。A.n-2???B.n-1 ? C.n?? D.n+1在系統(tǒng)實(shí)現(xiàn)遞歸調(diào)用時(shí)需運(yùn)用遞歸工作記錄保存實(shí)際參數(shù)的值。在傳值參數(shù)情形,需為相應(yīng)形式參數(shù)分派空間,以存放實(shí)際參數(shù)的副本;在引用參數(shù)情形,需保存實(shí)際參數(shù)的(),在被調(diào)用程序中可直接操縱實(shí)際參數(shù)。A.空間???B.副本 ?C.返回地址??D.地址在一棵樹(shù)中,()沒(méi)有前驅(qū)結(jié)點(diǎn)。A.分支結(jié)點(diǎn)?B.葉結(jié)點(diǎn)?C.樹(shù)根結(jié)點(diǎn) D.空結(jié)點(diǎn)在一棵二叉樹(shù)的二叉鏈表中,空指針域數(shù)等于非空指針域數(shù)加()。A.2 ?B.1??C.0 ?D.–1對(duì)于長(zhǎng)度為9的有序順序表,若采用折半搜索,在等概率情況下搜索成功的平均搜索長(zhǎng)度為()的值除以9。?A.20?B.18?C.25 D.22在有向圖中每個(gè)頂點(diǎn)的度等于該頂點(diǎn)的()。A.入度? ?B.出度?? C.入度與出度之和 D.入度與出度之差在基于排序碼比較的排序算法中,()算法的最壞情況下的時(shí)間復(fù)雜度不高于O(nlog2n)。A.起泡排序??B.希爾排序??C.歸并排序??D.快速排序當(dāng)α的值較小時(shí),散列存儲(chǔ)通常比其他存儲(chǔ)方式具有()的查找速度。A.較慢? ?B.較快?? C.相同填空題(每小題1分,共10分)二維數(shù)組是一種非線性結(jié)構(gòu),其中的每一個(gè)數(shù)組元素最多有_________個(gè)直接前驅(qū)(或直接后繼)。將一個(gè)n階三對(duì)角矩陣A的三條對(duì)角線上的元素按行壓縮存放于一個(gè)一維數(shù)組B中,A[0][0]存放于B[0]中。對(duì)于任意給定數(shù)組元素B[K],它應(yīng)是A中第_______(dá)__(dá)行的元素。鏈表對(duì)于數(shù)據(jù)元素的插入和刪除不需移動(dòng)結(jié)點(diǎn),只需改變相關(guān)結(jié)點(diǎn)的____(dá)____域的值。在一個(gè)鏈?zhǔn)綏V?若棧頂指針等于NULL則為_(kāi)___(dá)__(dá)__。主程序第一次調(diào)用遞歸函數(shù)被稱為外部調(diào)用,遞歸函數(shù)自己調(diào)用自己被稱為內(nèi)部調(diào)用,它們都需要運(yùn)用棧保存調(diào)用后的_______(dá)__地址。在一棵樹(shù)中,___(dá)___(dá)結(jié)點(diǎn)沒(méi)有后繼結(jié)點(diǎn)。一棵樹(shù)的廣義表表達(dá)為a(b(c,d(e,f),g(h)),i(j,k(x,y))),結(jié)點(diǎn)f的層數(shù)為_(kāi)___(dá)__。假定根結(jié)點(diǎn)的層數(shù)為0。在一棵AVL樹(shù)(高度平衡的二叉搜索樹(shù))中,每個(gè)結(jié)點(diǎn)的左子樹(shù)高度與右子樹(shù)高度之差的絕對(duì)值不超過(guò)_____(dá)___(dá)。n(n﹥0)個(gè)頂點(diǎn)的無(wú)向圖最多有___(dá)__(dá)___條邊,最少有__(dá)____(dá)__(dá)條邊。在索引存儲(chǔ)中,若一個(gè)索引項(xiàng)相應(yīng)數(shù)據(jù)對(duì)象表中的一個(gè)表項(xiàng)(記錄),則稱此索引為_(kāi)______(dá)_索引,若相應(yīng)數(shù)據(jù)對(duì)象表中的若干個(gè)表項(xiàng),則稱此索引為__(dá)___(dá)___(dá)索引。判斷題(每小題1分,共10分)數(shù)組是一種復(fù)雜的數(shù)據(jù)結(jié)構(gòu),數(shù)組元素之間的關(guān)系既不是線性的也不是樹(shù)形的。鏈?zhǔn)酱鎯?chǔ)在插入和刪除時(shí)需要保持物理存儲(chǔ)空間的順序分派,不需要保持?jǐn)?shù)據(jù)元素之間的邏輯順序。在用循環(huán)單鏈表表達(dá)的鏈?zhǔn)疥?duì)列中,可以不設(shè)隊(duì)頭指針,僅在鏈尾設(shè)立隊(duì)尾指針。通常遞歸的算法簡(jiǎn)樸、易懂、容易編寫(xiě),并且執(zhí)行的效率也高。一個(gè)廣義表的表尾總是一個(gè)廣義表。當(dāng)從一個(gè)小根堆(最小堆)中刪除一個(gè)元素時(shí),需要把堆尾元素填補(bǔ)到堆頂位置,然后再按條件把它逐層向下調(diào)整,直到調(diào)整到合適位置為止。對(duì)于一棵具有n個(gè)結(jié)點(diǎn),其高度為h的二叉樹(shù),進(jìn)行任一種順序遍歷的時(shí)間復(fù)雜度為O(h)。存儲(chǔ)圖的鄰接矩陣中,鄰接矩陣的大小不僅與圖的頂點(diǎn)個(gè)數(shù)有關(guān),并且與圖的邊數(shù)也有關(guān)。直接選擇排序是一種穩(wěn)定的排序方法。閉散列法通常比開(kāi)散列法時(shí)間效率更高。運(yùn)算題(每小題8分,共40分)設(shè)有一個(gè)1010的對(duì)稱矩陣A,將其下三角部分按行存放在一個(gè)一維數(shù)組B中,A[0][0]存放于B[0]中,那么A[8][5]存放于B中什么位置。這是一個(gè)記錄單鏈表中結(jié)點(diǎn)的值等于給定值x的結(jié)點(diǎn)數(shù)的算法,其中while循環(huán)有錯(cuò),請(qǐng)重新編寫(xiě)出對(duì)的的while循環(huán)。intcount(ListNode*Ha,ElemTypex) ? ?{?//Ha為不帶頭結(jié)點(diǎn)的單鏈表的頭指針intn=0; ? ??????while(Ha->link!=NULL){? Ha=Ha->link;? if(Ha->data==x)n++; ?}returnn;? ? ?? }已知一棵二叉樹(shù)的前序和中序序列,求該二叉樹(shù)的后序序列。前序序列:A,B,C,D,E,F,G,H,I,J中序序列:C,B,A,E,F(xiàn),D,I,H,J,G后序序列:已知一個(gè)有序表(15,26,34,39,45,56,58,63,74,76,83,94)順序存儲(chǔ)于一維數(shù)組a[12]中,根據(jù)折半搜索過(guò)程填寫(xiě)成功搜索下表中所給元素34,56,58,63,94時(shí)的比較次數(shù)。34565863943456586394元素值比較次數(shù)設(shè)散列表為HT[17],待插入關(guān)鍵碼序列為{Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec},散列函數(shù)為H(key)=i2,其中,i是關(guān)鍵碼第一個(gè)字母在字母表中的序號(hào)?,F(xiàn)采用線性探查法解決沖突。字母ABCDEFGHIJKLM序號(hào)12345678910111213字母NOPQRSTUVWXYZ序號(hào)14151617181920212223242526試畫(huà)出相應(yīng)的散列表;計(jì)算等概率下搜索成功的平均搜索長(zhǎng)度;算法分析題(每小題8分,共24分)1.閱讀下列算法,并補(bǔ)充所缺語(yǔ)句voidpurge_linkst(ListNode*&la){ //從頭指針為la的帶表頭結(jié)點(diǎn)的有序鏈表中刪除所有值相同的多余元素,//并釋放被刪結(jié)點(diǎn)空間。ListNodep,q,t;ElemTypetemp;p=la->link;while(p!=NULL){ ???q=p;temp=p->data;p=p->link;? if(p!=NULL&&__(dá)____(dá)__(dá))p=p->link; ? else{while(p!=NULL&&___(dá)){? ? t=p;p=p->link;deletet;??}q->link=p; ?}}}下面給出一個(gè)排序算法,它屬于數(shù)據(jù)表類的成員函數(shù),其中currentSize是數(shù)據(jù)表實(shí)例的當(dāng)前長(zhǎng)度,Vector[]是存放數(shù)據(jù)表元素的一維數(shù)組。template<classT>voiddataList<T>::unknown(){ Ttemp;inti,j,n=currentSize; ?for(i=1;i<n;i++)if(Vector[i].key<Vector[i-1].key){ ? temp=Vector[i];Vector[i]=Vector[i-1]; ??for(j=i-2;j>=0;j--) ? if(temp.key<Vector[j].key)Vector[j+1]=Vector[j];? ?elsebreak; ??Vector[j+1]=temp;}??}寫(xiě)出該算法的功能。針對(duì)有n個(gè)數(shù)據(jù)對(duì)象的待排序的數(shù)據(jù)表,在最佳情況下,算法的排序碼比較次數(shù)和對(duì)象移動(dòng)次數(shù)分別是多少?比較次數(shù):移動(dòng)次數(shù):已知二叉樹(shù)中的結(jié)點(diǎn)類型用BinTreeNode表達(dá),被定義為:structBinTreeNode{ElemTypedata; BinTreeNode*leftChild,*rightChild;};其中data為結(jié)點(diǎn)值域,leftChild和rightChild分別為指向左、右子女結(jié)點(diǎn)的指針域。根據(jù)下面函數(shù)的定義指出函數(shù)的功能。算法中參數(shù)BT指向一棵二叉樹(shù)的樹(shù)根結(jié)點(diǎn)。? BinTree(cuò)Node*BinTree(cuò)SwopX(BinTreeNode*BT){??if(BT==NULL)returnNULL;???else{ ?? BinTreeNode*pt=newBinTree(cuò)Node; ? pt->data=BT->data;?? ?pt->rightChild=BinTreeSwopX(BT->leftChild);? ?pt->lefthild=BinTreeSwopX(BT->rightChild); ???returnpt; } ?}算法設(shè)計(jì)題(6分)已知二叉樹(shù)中的結(jié)點(diǎn)類型用BinTreeNode表達(dá),被定義為:structBTreeNode{chardata;?BinTreeNode*leftChild,*rightChild;};其中data為結(jié)點(diǎn)值域,leftChild和rightChild分別為指向左、右子女結(jié)點(diǎn)的指針域,根據(jù)下面函數(shù)聲明編寫(xiě)出求一棵二叉樹(shù)中結(jié)點(diǎn)總數(shù)的算法,該總數(shù)值由函數(shù)返回。假定參數(shù)BT初始指向這棵二叉樹(shù)的根結(jié)點(diǎn)。intBTreeCount(BinTreeNode*BT);

中央電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)數(shù)據(jù)結(jié)構(gòu)(本科)試題參考答案及評(píng)分標(biāo)準(zhǔn)7一、選擇題(每小題1分,共10分)1.A 2.B??3.B ?4.D ?5.C??6.A ?7.C 8.C9.C 10.B二、填空題(每小題1分,共10分)1.2?? 2.(K+1)/3 3.指針 ?4.空棧5.返回? 6.葉子???7.3 ?8.19.n(n-1)/2,0? 10.稠密,稀疏第9和10小題中有一空錯(cuò)則1分全扣。三、判斷題(每小題1分,共10分)1.對(duì) 2.錯(cuò)?3.對(duì)?4.錯(cuò) 5.對(duì)?6.對(duì)?7.錯(cuò)?8.錯(cuò)9.錯(cuò) 10.錯(cuò)四、運(yùn)算題(每小題8分,共40分)根據(jù)題意,矩陣A中當(dāng)元素下標(biāo)I與J滿足I≥J時(shí),任意元素A[I][J]在一維數(shù)組B中的存放位置為I*(I+1)/2+J,因此,A[8][5]在數(shù)組B中位置為???8*(8+1)/2+5=41。while(Ha!=NULL){ if(Ha->data==x)n++;?Ha=Ha->link;}后序序列:C,B,F,E,I,J,H,G,D,A345658639403456586394021344元素值比較次數(shù)? ?? ?? ?//對(duì)1個(gè)給1分,全對(duì)給8分??H(Jan)=102=5,成功.?? H(Feb)=62=3,成功.?H(Mar)=132=6,成功.? H(Apr)=12=0,成功.H(May)=132=6,=7,成功, H(June)=102=5,=6,=7,=8,成功.?H(July)=102=5,=6,=7,=8,=9,成功.?H(Aug)=12=0,=1,成功.??H(Sep)=192=9,=10,成功. H(Oct)=152=7,=8,=9,=10,=11,成功. H(Nov)=142=7,=8,=9,=10,=11,=12,成功. H(Dec)=42=2,成功.相應(yīng)的散列表(6分),錯(cuò)一個(gè)存儲(chǔ)位置扣1分,最

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論