2023年數(shù)據(jù)結(jié)構(gòu)考試試題庫(kù)含答案解析_第1頁(yè)
2023年數(shù)據(jù)結(jié)構(gòu)考試試題庫(kù)含答案解析_第2頁(yè)
2023年數(shù)據(jù)結(jié)構(gòu)考試試題庫(kù)含答案解析_第3頁(yè)
2023年數(shù)據(jù)結(jié)構(gòu)考試試題庫(kù)含答案解析_第4頁(yè)
2023年數(shù)據(jù)結(jié)構(gòu)考試試題庫(kù)含答案解析_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)結(jié)構(gòu)習(xí)題集含答案目錄TOC\o"1-2"\h\z\uHYPERLINK\l"_Toc"目錄 PAGEREF_Toc\h1HYPERLINK選擇題?PAGEREF_Toc\h2HYPERLINK第一章緒論 PAGEREF_Toc\h2HYPERLINK\l"_Toc"第二章線(xiàn)性表?PAGEREF_Toc\h4HYPERLINK第三章棧和隊(duì)列?PAGEREF_Toc\h5HYPERLINK\l"_Toc"第四章串 PAGEREF_Toc\h6HYPERLINK\l"_Toc"第五章數(shù)組和廣義表 PAGEREF_Toc\h7HYPERLINK第七章圖?PAGEREF_Toc\h9HYPERLINK第八章查找?PAGEREF_Toc\h11HYPERLINK第九章排序 PAGEREF_Toc\h12HYPERLINK第一章緒論?\h15HYPERLINK\l"_Toc"第二章線(xiàn)性表?PAGEREF_Toc\h20HYPERLINK\l"_Toc"第三章棧和隊(duì)列?PAGEREF_Toc\h22HYPERLINK\l"_Toc"第四章串 PAGEREF_Toc\h24HYPERLINK第六章樹(shù)和二叉樹(shù)?PAGEREF_Toc\h26HYPERLINK第七章圖 PAGEREF_Toc\h31HYPERLINK\l"_Toc"第八章查找?PAGEREF_Toc\h33HYPERLINK\l"_Toc"第九章排序?PAGEREF_Toc\h34HYPERLINK\l"_Toc"編程題?PAGEREF_Toc\h36HYPERLINK\l"_Toc"第一章緒論?PAGEREF_Toc\h36HYPERLINK第二章線(xiàn)性表?PAGEREF_Toc\h36HYPERLINK第三章棧和隊(duì)列?PAGEREF_Toc\h46HYPERLINK第四章串 PAGEREF_Toc\h46HYPERLINK\l"_Toc"第五章數(shù)組和廣義表?PAGEREF_Toc\h46HYPERLINK\l"_Toc"第六章樹(shù)和二叉樹(shù)?PAGEREF_Toc\h46HYPERLINK\l"_Toc"第七章圖?PAGEREF_Toc\h46HYPERLINK第九章排序?PAGEREF_Toc\h51選擇題第一章緒論數(shù)據(jù)結(jié)構(gòu)這門(mén)學(xué)科是針對(duì)什么問(wèn)題而產(chǎn)生的?(A)A、針對(duì)非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題?B、針對(duì)數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題C、數(shù)值計(jì)算與非數(shù)值計(jì)算的問(wèn)題都針對(duì) D、兩者都不針對(duì)數(shù)據(jù)結(jié)構(gòu)這門(mén)學(xué)科的研究?jī)?nèi)容下面選項(xiàng)最準(zhǔn)確的是(D)A、研究數(shù)據(jù)對(duì)象和數(shù)據(jù)之間的關(guān)系?B、研究數(shù)據(jù)對(duì)象C、研究數(shù)據(jù)對(duì)象和數(shù)據(jù)的操作?D、研究數(shù)據(jù)對(duì)象、數(shù)據(jù)之間的關(guān)系和操作某班級(jí)的學(xué)生成績(jī)表中查得張三同學(xué)的各科成績(jī)記錄,其中數(shù)據(jù)結(jié)構(gòu)考了90分,那么下面關(guān)于數(shù)據(jù)對(duì)象、數(shù)據(jù)元素、數(shù)據(jù)項(xiàng)描述對(duì)的的是(C)A、某班級(jí)的學(xué)生成績(jī)表是數(shù)據(jù)元素,90分是數(shù)據(jù)項(xiàng)B、某班級(jí)的學(xué)生成績(jī)表是數(shù)據(jù)對(duì)象,90分是數(shù)據(jù)元素C、某班級(jí)的學(xué)生成績(jī)表是數(shù)據(jù)對(duì)象,90分是數(shù)據(jù)項(xiàng)D、某班級(jí)的學(xué)生成績(jī)表是數(shù)據(jù)元素,90分是數(shù)據(jù)元素*數(shù)據(jù)結(jié)構(gòu)是指(A)。A、數(shù)據(jù)元素的組織形式 ? B、數(shù)據(jù)類(lèi)型C、數(shù)據(jù)存儲(chǔ)結(jié)構(gòu) ? ? D、數(shù)據(jù)定義數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表達(dá)時(shí),物理地址與邏輯地址不相同,稱(chēng)之為(C)。A、存儲(chǔ)結(jié)構(gòu) ?? ? B、邏輯結(jié)構(gòu)C、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)? ? ? D、順序存儲(chǔ)結(jié)構(gòu)算法分析的目的是(C)A、找出數(shù)據(jù)的合理性???B、研究算法中的輸入和輸出關(guān)系C、分析算法效率以求改善? D、分析算法的易懂性和文檔型性算法分析的重要方法(A)。A、空間復(fù)雜度和時(shí)間復(fù)雜度 ?B、對(duì)的性和簡(jiǎn)明性C、可讀性和文檔性 D、數(shù)據(jù)復(fù)雜性和程序復(fù)雜性計(jì)算機(jī)內(nèi)部解決的基本單元是(B)A、數(shù)據(jù)? B、數(shù)據(jù)元素 ?C、數(shù)據(jù)項(xiàng)??D、數(shù)據(jù)庫(kù)數(shù)據(jù)在計(jì)算機(jī)內(nèi)有鏈?zhǔn)胶晚樞騼煞N存儲(chǔ)方式,在存儲(chǔ)空間使用的靈活性上,鏈?zhǔn)酱鎯?chǔ)比順序存儲(chǔ)要(B)。A、低 B、高? ?C、相同 ? D、不好說(shuō)算法的時(shí)間復(fù)雜度取決于(C)A、問(wèn)題的規(guī)模 ? ???B、待解決數(shù)據(jù)的初始狀態(tài)C、問(wèn)題的規(guī)模和待解決數(shù)據(jù)的初始狀態(tài)??D、不好說(shuō)數(shù)據(jù)結(jié)構(gòu)既研究數(shù)據(jù)的邏輯結(jié)構(gòu),又研究物理結(jié)構(gòu),這種觀(guān)點(diǎn)(B)。A、對(duì)的?? ? ?B、錯(cuò)誤C、前半句對(duì),后半句錯(cuò)?? D、前半句錯(cuò),后半句對(duì)在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)提成(C)A、動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) ??B、緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C、線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu) D、內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)是一種()的存儲(chǔ)結(jié)構(gòu),線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種(A)存儲(chǔ)結(jié)構(gòu)。A、隨機(jī)存取?? ?B、順序存取C、索引存取? ???D、散列存?。铝谐绦虻臅r(shí)間復(fù)雜度是(A)for(i=1;i<=n;++i){for(j=1;j<=n;++j){c[i][j]=0;}}A、O(n2) B、O(n) ?C、O(2n) D、O(2n2)*下列程序的空間復(fù)雜度是(A)for(i=1;i<=n;++i){for(j=1;j<=m;++j){c[i][j]=0;}}A、O(m*n) ?B、O(m+n)??C、O(m-n)?D、O(m/n)*求下列程序段的時(shí)間復(fù)雜度(B)for(i=1;i<=n;i++)for(j=1;j<=n;j++) ?x=x+1;A、O(n2)B、O(n)C、O(1)D、O(0)第二章線(xiàn)性表關(guān)于線(xiàn)性表的說(shuō)法不對(duì)的的是?(D)A、存在唯一的一個(gè)被稱(chēng)為“第一個(gè)”的數(shù)據(jù)元素(開(kāi)始結(jié)點(diǎn))B、存在唯一的一個(gè)被稱(chēng)為“最后一個(gè)”的數(shù)據(jù)元素(終端結(jié)點(diǎn))C、除第一個(gè)之外,集合中的每個(gè)數(shù)據(jù)元素均只有一個(gè)前驅(qū) D、除第一個(gè)之外,集合中的每個(gè)數(shù)據(jù)元素均只有一個(gè)后繼關(guān)于順序表的說(shuō)法不對(duì)的的是?(D)A、邏輯關(guān)系上相鄰的兩個(gè)元素在物理存儲(chǔ)位置上也相鄰B、可以隨機(jī)存取表中任一元素,方便快捷C、在線(xiàn)性表中插入某一元素時(shí),往往需要移動(dòng)大量元素D、在線(xiàn)性表中刪除某一元素時(shí),無(wú)需移動(dòng)大量元素當(dāng)線(xiàn)性表的元素總數(shù)基本穩(wěn)定,且很少進(jìn)行插入和刪除操作,但規(guī)定以最快的速度存取線(xiàn)性表中的元素時(shí),應(yīng)采用什么存儲(chǔ)結(jié)構(gòu)?(A)A、順序表 B、單鏈表?C、循環(huán)鏈表?D、雙鏈表在一個(gè)長(zhǎng)度為n的順序表中第i個(gè)元素(1<=i<=n)之前插入一個(gè)元素時(shí),需向后移動(dòng)多少個(gè)元素。(C)A、n-1?B、n-i?C、n-i+1 D、n-i-1在單鏈表中設(shè)立頭結(jié)點(diǎn)的作用是()。A、單鏈表定義而已 B、指定表的起始位置?C、為雙向鏈表做準(zhǔn)備?D、為循環(huán)鏈表做準(zhǔn)備根據(jù)線(xiàn)性表鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中每一個(gè)結(jié)點(diǎn)包含的指針數(shù),將線(xiàn)性鏈表提成(C)A、單鏈表與循環(huán)鏈表 B、單鏈表與十字鏈表?C、單鏈表與雙鏈表?D、循環(huán)鏈表與多鏈表鏈接存儲(chǔ)的特點(diǎn)是運(yùn)用什么來(lái)表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系(A?)A、引用?B、串聯(lián) C、掛接 D、指派已知指針p指向單鏈表L中的某結(jié)點(diǎn),則刪除其后繼結(jié)點(diǎn)的語(yǔ)句是(D)A、p=p.next?B、p=null C、p.next=null?D、p.next=p.next.next*在單鏈表L中,指針p所指結(jié)點(diǎn)有后繼結(jié)點(diǎn)的條件是(B)A、p=p.next?B、p.next!=nullC、p.next=null D、p.next=p.next.next*在單鏈表p結(jié)點(diǎn)之后插入s結(jié)點(diǎn)的操作是(C)A、p.next=s;s.next=p.next; B、s.next=p.next;p.next=p.next.next;C、s.next=p.next;p.next=s; D、s.next=p;p.next=s;第三章棧和隊(duì)列棧、隊(duì)列通常采用兩種存儲(chǔ)結(jié)構(gòu),它們是(B)A、散列方式和索引方式?B、順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)C、鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組?D、線(xiàn)性和非線(xiàn)性存儲(chǔ)結(jié)構(gòu)一個(gè)棧入棧序列是a,b,c,d,則棧輸出序列不也許是(C)A、d,c,b,a B、c,d,b,a?C、d,c,a,b D、a,b,c,d判斷順序棧(最多結(jié)點(diǎn)數(shù)為m)為棧滿(mǎn)的條件是(D)A、top==0B、top!=mC、top!=0D、top==m棧存取數(shù)據(jù)原則(或棧特點(diǎn))是(B)A、后進(jìn)后出B、后進(jìn)先出C、先進(jìn)先出D、隨意進(jìn)出*通過(guò)以下棧運(yùn)算后,x的值是(A)InitStack(s);Push(s,d);Push(s,e);Pop(s,x);Pop(s,x);GetTop(s,x);A、dB、eC、xD、s一個(gè)隊(duì)列的進(jìn)隊(duì)序列為:a,b,c,d,則出隊(duì)序列是:(A)A、a,b,c,dB、d,c,b,aC、a,d,c,bD、c,b,d,a循環(huán)隊(duì)列為空隊(duì)列的條件是:(D)A、Q.front=0? B、Q.(rear+1)%MaxSize==Q.frontC、Q.rear=0D、Q.rear==Q.front在存儲(chǔ)結(jié)構(gòu)上,假如用帶頭節(jié)點(diǎn)單鏈表實(shí)現(xiàn)隊(duì)列(假定front和rear分別為隊(duì)首和隊(duì)尾指針),則刪除一個(gè)結(jié)點(diǎn)的操作為(A)。A、front.next=front.next.next?B、rear=rear.nextC、rear=front.next? ? D、front=front.next棧和隊(duì)列共同點(diǎn)是(C)A、先進(jìn)后出 ??? ?B、先進(jìn)先出C、允許在端點(diǎn)處進(jìn)行操作線(xiàn)性表??D、無(wú)共同點(diǎn)插入和刪除只能在一端進(jìn)行的線(xiàn)性表是(B)A、循環(huán)隊(duì)列B、棧C、隊(duì)列D、循環(huán)棧插入和刪除分別在兩端端進(jìn)行的線(xiàn)性表是(C)A、循環(huán)隊(duì)列B、棧C、隊(duì)列D、循環(huán)棧循環(huán)隊(duì)列為滿(mǎn)隊(duì)列的條件是:(B)A、Q.front=0 ?B、Q.(rear+1)%MaxSize==Q.frontC、Q.rear=0D、Q.rear==Q.front第四章串關(guān)于串的敘述,錯(cuò)誤的是:(B)A.串是字符有限序列?B.空串是由空格構(gòu)成的串C.模式匹配是串的重要運(yùn)算D.串有用順序、鏈?zhǔn)絻煞N存儲(chǔ)方式串長(zhǎng)度是指(B)A.串所含不同字母數(shù)目B.串所含字符數(shù)目C.串所含不同字符數(shù)目D.串所含非空格字符數(shù)目*若串S=”database”,其子串?dāng)?shù)目是(B)。A.16B.37C.8D.36設(shè)串S1是串S子串,則求S1在S中定位運(yùn)算稱(chēng)為(B)A.求子串B.串匹配C.聯(lián)接D.求串長(zhǎng)設(shè)有串s1=”welcometozdsoftcolleage!”和s2=”so”,那么s2在s1中的索引位置是(C)A.12B.14C.13D.10*若串S=“software“,其子串的數(shù)目是(B)。A.8B.37C.36D.9第五章數(shù)組和廣義表第六章樹(shù)和二叉樹(shù)假設(shè)在一棵二叉樹(shù)中,雙分支結(jié)點(diǎn)數(shù)為15,單分支結(jié)點(diǎn)數(shù)為30個(gè),則葉子結(jié)點(diǎn)數(shù)為(B)個(gè)。A.15?? B.16 ??C.17 D.47假定一棵三叉樹(shù)的結(jié)點(diǎn)數(shù)為50,則它的最小高度為(C)。A.3???B.4?? C.5? ?D.6在一棵二叉樹(shù)上第4層的結(jié)點(diǎn)數(shù)最多為(D)。A.2? B.4? ?C.6 ??D.8用順序存儲(chǔ)的方法將完全二叉樹(shù)中的所有結(jié)點(diǎn)逐層存放在數(shù)組中R[1..n],結(jié)點(diǎn)R[i]若有左孩子,其左孩子的編號(hào)為結(jié)點(diǎn)(B)。A.R[2i+1]?B.R[2i] C.R[i/2] D.R[2i-1]設(shè)n,m為一棵二叉樹(shù)上的兩個(gè)結(jié)點(diǎn),在中序遍歷序列中n在m前的條件是(B)。A.n在m右方 B.n在m左方C.n是m的祖先 D.n是m的子孫下面敘述對(duì)的的是(D)。A.二叉樹(shù)是特殊的樹(shù)B.二叉樹(shù)等價(jià)于度為2的樹(shù)C.完全二叉樹(shù)必為滿(mǎn)二叉樹(shù)D.二叉樹(shù)的左右子樹(shù)有順序之分現(xiàn)有一深度為5的二叉樹(shù),請(qǐng)問(wèn)其最多有(D)個(gè)結(jié)點(diǎn)。A.32??B.5?? C.30 ??D.31現(xiàn)有一深度為4的二叉樹(shù),請(qǐng)問(wèn)其最多有(A)個(gè)結(jié)點(diǎn)。A.15??B.16 ? C.17 ?D.6在一棵二叉排序樹(shù)上按(B)遍歷得到的結(jié)點(diǎn)序列是一個(gè)有序序列。A.先序 ?B.中序 ??C.后序 D.頭序在一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)數(shù)為n0,度為2的結(jié)點(diǎn)數(shù)為n2,則n0=(C)A.n+1??B.n+2?? C.n2+1 D.2n+1由三個(gè)結(jié)點(diǎn)構(gòu)成的二叉樹(shù),共有(B)種不同的形態(tài)。A.4 B.5? C.6 ?D.7一棵具有n個(gè)結(jié)點(diǎn)的樹(shù),(A)形態(tài)達(dá)成最大深度。A.單支樹(shù) ?B.二叉樹(shù) ? C.三 叉樹(shù)?D.n叉樹(shù)不含任何結(jié)點(diǎn)的空樹(shù)(C)。

A.是一棵樹(shù);

B.是一棵二叉樹(shù);

C.是一棵樹(shù)也是一棵二叉樹(shù);

D.既不是樹(shù)也不是二叉樹(shù)二叉樹(shù)是非線(xiàn)性數(shù)據(jù)結(jié)構(gòu),所以(

)

。

A.它不能用順序存儲(chǔ)結(jié)構(gòu)存儲(chǔ);

B.它不能用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)存儲(chǔ);

C.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)都能存儲(chǔ);

D.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)都不能使用

具有n(n>0)個(gè)結(jié)點(diǎn)的完全二叉樹(shù)的深度為(C)。

A.log2(n)

B.

log2(n)

C.[

log2(n)

]+1

D.log2(n)+1

在一棵三元樹(shù)中度為3的結(jié)點(diǎn)數(shù)為2個(gè),度為2的結(jié)點(diǎn)數(shù)為1個(gè),度為1的結(jié)點(diǎn)數(shù)為2個(gè),則度為0的結(jié)點(diǎn)數(shù)為(D)個(gè)。

A.4? B.5? C.6 D.7有關(guān)二叉樹(shù)下列說(shuō)法對(duì)的的是(B

A.二叉樹(shù)的度為2

?B.一棵二叉樹(shù)的度可以小于2

C.二叉樹(shù)中至少有一個(gè)結(jié)點(diǎn)的度為2 D.二叉樹(shù)中任何一個(gè)結(jié)點(diǎn)的度都為2在完全二叉樹(shù)中,若一個(gè)結(jié)點(diǎn)是葉結(jié)點(diǎn),則它沒(méi)(C

)。

A.左子結(jié)點(diǎn)

?? B.右子結(jié)點(diǎn)

C.左子結(jié)點(diǎn)和右子結(jié)點(diǎn) D.左子結(jié)點(diǎn),右子結(jié)點(diǎn)和兄弟結(jié)點(diǎn)在下列情況中,可稱(chēng)為二叉樹(shù)的是(B

A.每個(gè)結(jié)點(diǎn)至多有兩棵子樹(shù)的樹(shù)??B.

哈夫曼樹(shù)

C.每個(gè)結(jié)點(diǎn)至多有兩棵子樹(shù)的有序樹(shù) D.

每個(gè)結(jié)點(diǎn)只有一棵右子樹(shù)

第七章圖圖的深度優(yōu)先遍歷類(lèi)似于二叉樹(shù)的(A)。A.先序遍歷B.中序遍歷C.后序遍歷D.層次遍歷已知一個(gè)圖如圖所示,若從頂點(diǎn)a出發(fā)按深度優(yōu)先遍歷,則也許得到的一種頂點(diǎn)序列為(C)A.abecdf?B.a(chǎn)cfebd C.a(chǎn)ebcfd D.aedfcb若從無(wú)向圖的任意一個(gè)頂點(diǎn)出發(fā)進(jìn)行一次深度優(yōu)先搜索可以訪(fǎng)問(wèn)圖中所有的頂點(diǎn),則該圖一定是(B)圖。A.非連通B.連通C.強(qiáng)連通D.有向在一個(gè)圖中,所有頂點(diǎn)的度數(shù)之和等于所有邊數(shù)的(C)倍。A1/2B1C2D3在一個(gè)有向圖中,所有頂點(diǎn)的入度之和等于所有頂點(diǎn)出度之和的(B)倍。A1/2B1C2D3一個(gè)有N個(gè)頂點(diǎn)的有向圖最多有(B)條邊。ANBN(N-1)CN(n-1)/2D2N具有4個(gè)頂點(diǎn)的無(wú)向完全圖有(A)條邊。A6B12C18D20具有6個(gè)頂點(diǎn)的無(wú)向圖至少有(A)條邊才干保證是一個(gè)連通圖。A5B6C7D8對(duì)于一個(gè)具有N個(gè)頂點(diǎn)的無(wú)向圖,若采用鄰接矩陣表達(dá),則該矩陣大小是(D)ANB(N-1)2CN-1DN*N一個(gè)具有N個(gè)頂點(diǎn)的無(wú)向圖中,要連通所有頂點(diǎn)至少要(C)條邊ANBN+1CN-1DN/2*已知圖的鄰接矩陣如圖所示,則從頂點(diǎn)0出發(fā)按深度優(yōu)先遍歷的結(jié)果是(C)。A.0243156 B.0136542 C.0134256 D.0361542已知圖的鄰接表下圖所示,則從頂點(diǎn)0出發(fā)按廣度優(yōu)先遍歷的結(jié)果是(),按深度優(yōu)先遍歷的結(jié)果是(D)。A.0132B.0231?C.0321D.0123已知圖的鄰接表下圖所示,則從頂點(diǎn)0出發(fā)按廣度優(yōu)先遍歷的結(jié)果是(),按深度優(yōu)先遍歷的結(jié)果是()。A.0132B.0231C.0321D.0123當(dāng)在一個(gè)有序的順序表上查找一個(gè)數(shù)據(jù)時(shí),既可用折半查找,也可用順序查找,但前者比后者的查找速度(C)。A.必然快B.不一定C.在大部分情況下要快D.取決于表遞增還是遞減折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,則它將依次與表中(A)比較大小,查找結(jié)果是失敗。A.20,70,30,50B.30,88,70,50C.20,50D.30,88,50第八章查找順序查找法適合于存儲(chǔ)結(jié)構(gòu)為(B)的線(xiàn)性表。A.散列存儲(chǔ)B.順序存儲(chǔ)或鏈?zhǔn)酱鎯?chǔ)C.壓縮存儲(chǔ)D.索引存儲(chǔ)在查找過(guò)程中,若同時(shí)還要增、刪工作,這種查找稱(chēng)為(B)。A、靜態(tài)查找B、動(dòng)態(tài)查找C、內(nèi)查找D、外查找索引順序表的特點(diǎn)是順序表中的數(shù)據(jù)(A)。A、有序B、無(wú)序C、塊間有序D、散列采用順序查找方法查找長(zhǎng)度為n的線(xiàn)性表時(shí),每個(gè)元素的平均查找長(zhǎng)度為(C)A、n B、n/2 C、(n+1)/2?D、(n-1)/2*將10個(gè)元素散列到1000000個(gè)單元的哈希表,則(C)產(chǎn)生沖突。A、一定會(huì)B、一定不會(huì)C、仍也許會(huì)D、以上都不對(duì)*散列表的地址區(qū)間為0~16,散列函數(shù)H(k)=k%17,采用線(xiàn)性探測(cè)法解決地址沖突,將關(guān)鍵字26、25、72、38、1、18、59依次存儲(chǔ)到散列表中。元素59存放在散列表中的地址為(A)A、8?B、9 C、10?D、11設(shè)有序表的關(guān)鍵字序列為{1,3,9,12,32,41,45,62,75,77,82,95,100},當(dāng)采用二分查找法查找值為82的節(jié)點(diǎn)時(shí),經(jīng)(C)次比較后查找成功。A、1 B、2 C、3?D、4設(shè)有100個(gè)元素,用折半查找法進(jìn)行查找時(shí),最大、最小比較次數(shù)分別時(shí)(A)A、7,1?B、6,1 C、5,1 D、8,1第九章排序?qū)個(gè)不同的記錄按排序碼值從小到大順序重新排列,用冒泡(起泡)排序方法,初始序列在(A)情況下,與排序碼值總比較次數(shù)最少。A.按排序碼值從小到大排列B.按排序碼值從大到小排列C.隨機(jī)排列(完全無(wú)序)D.基本按排序碼值升序排列對(duì)n個(gè)不同的記錄按排序碼值從小到大順序重新排列,用冒泡(起泡)排序方法,在(B)情況下,與排序碼值總比較次數(shù)最多。A.按排序碼值從小到大排列B.按排序碼值從大到小排列C.隨機(jī)排列(完全無(wú)序)D.基本按排序碼值升序排列對(duì)n個(gè)不同的記錄按排序碼值從小到大順序重新排列,用直接插入排序方法,初始序列在(A)情況下,與排序碼值總比較次數(shù)最少。A.按排序碼值從小到大排列B.按排序碼值從大到小排列C.隨機(jī)排列(完全無(wú)序)D.基本按排序碼值升序排列對(duì)n個(gè)不同的記錄按排序碼值從小到大順序重新排列,用直接插入排序方法,初始序列在(B)情況下,與排序碼值總比較次數(shù)最多。A.按排序碼值從小到大排列B.按排序碼值從大到小排列C.隨機(jī)排列(完全無(wú)序)D.基本按排序碼值升序排列對(duì)n個(gè)不同的記錄按排序碼值從小到大順序重新排列,用快速排序方法在(C)情況下,與排序碼值總比較次數(shù)最少。A.按排序碼值從小到大排列B.按排序碼值從大到小排列C.隨機(jī)排列(完全無(wú)序)D.基本按排序碼值升序排列對(duì)n個(gè)不同的記錄按排序碼值從小到大順序重新排列,用快速排序方法,在(A)情況下與排序碼值總比較次數(shù)最多。A.按排序碼值從小到大排列B.按排序碼值從大到小排列C.隨機(jī)排列(完全無(wú)序)D.基本按排序碼值升序排列用冒泡排序方法對(duì)n個(gè)記錄按排序碼值從小到大排序時(shí),當(dāng)初始序列是按排序碼值從大到小排列時(shí),與碼值總比較次數(shù)是(D)。A.n-1B.nC.n+1D.n(n-1)/2下列排序方法中,與排序碼值總比較次數(shù)與待排序記錄的初始序列排列狀態(tài)無(wú)關(guān)的是(D)。A.直接插入排序B.冒泡排序C.快速排序D.直接選擇排序?qū)?個(gè)不同的整數(shù)進(jìn)行排序,至少需要比較(A)次。A.5B.6C.15D.21將6個(gè)不同的整數(shù)進(jìn)行排序,至多需要比較(C)次。A.5B.6C.15D.21*若需要時(shí)間復(fù)雜度在O(nlog2n)內(nèi),對(duì)整數(shù)數(shù)組進(jìn)行排序,且規(guī)定排序方法是穩(wěn)定的,則可選擇的排序方法是(B)。A.快速排序B.歸并排序C.堆排序D.直接插入排序當(dāng)待排序的整數(shù)是有序序列時(shí),采用(B)方法比較好,其時(shí)間復(fù)雜度為O(n)。A.快速排序B.冒泡排序C.歸并排序D.直接選擇排序當(dāng)待排序的整數(shù)是有序序列時(shí),采用(A)方法比較差,達(dá)成最壞情況下時(shí)間復(fù)雜度為O(n2)。A.快速排序B.冒泡排序C.歸并排序D.直接選擇排序當(dāng)待排序的整數(shù)是有序序列時(shí),無(wú)論待排序序列排列是否有序,采用(D)方法的時(shí)間復(fù)雜度都是O(n2)。A.快速排序B.冒泡排序C.歸并排序D.直接選擇排序*堆是一種(B)排序。A.插入B.選擇C.互換D.歸并*若一組記錄的排序碼值序列為{40,80,50,30,60,70},運(yùn)用堆排序方法進(jìn)行排序,初建的大頂堆是(D)。A.80,40,50,30,60,70 B.80,70,60,50,40,30C.80,70,50,40,30,60?D.80,60,70,30,40,50若一組記錄的排序碼值序列為{50,80,30,40,70,60}運(yùn)用快速排序方法,以第一個(gè)記錄為基準(zhǔn),得到一趟快速排序的結(jié)果為(B)。A.30,40,50,60,70,80 B.40,30,50,80,70,60C.50,30,40,70,60,80 D.40,50,30,70,60,80*下列幾種排序方法中規(guī)定輔助空間最大的是(C)。A.堆排序B.直接選擇排序C.歸并排序D.快速排序已知A[m]中每個(gè)數(shù)組元素距其最終位置不遠(yuǎn),采用下列(A)排序方法最節(jié)省時(shí)間。A.直接插入B.堆C.快速D.直接選擇*設(shè)有10000個(gè)互不相等的無(wú)序整數(shù),若僅規(guī)定找出其中前10個(gè)最大整數(shù),最佳采用(B)排序方法。A.歸并B.堆C.快速D.直接選擇*在下列排序方法中不需要對(duì)排序碼值進(jìn)行比較就能進(jìn)行排序的是(A)。A:基數(shù)排序B.快速排序C.直接插入排序D.堆排序*給定排序碼值序列為{F,B,J,C,E,A,I,D,C,H},對(duì)其按字母的字典序列的順序進(jìn)行排列,希爾(Shell)排序的第一趟(d1=5)結(jié)果應(yīng)為(D)。A.{B,F,C,J,A,E,D,I,C,H}B.{C,B,D,A,E,F(xiàn),I,C,J,H}C.{B,F,C,E,A,I,D,C,H,J}D.{A,B,D,C,E,F,I,J,C,H}給定排序碼值序列為{F,B,J,C,E,A,I,D,C,H},對(duì)其按字母的字典序列的順序進(jìn)行排列,冒泡排序(大數(shù)下沉)的第一趟排序結(jié)果應(yīng)為(C)。A.{B,F,C,J,A,E,D,I,C,H}B.{C,B,D,A,E,F,I,C,J,H}C.{B,F(xiàn),C,E,A,I,D,C,H,J}D.{A,B,D,C,E,F,I,J,C,H}給定排序碼值序列為{F,B,J,C,E,A,I,D,C,H},對(duì)其按字母的字典序列的順序進(jìn)行排列,快速排序的第一趟排序結(jié)果為(B)。A.{B,F(xiàn),C,J,A,E,D,I,C,H}B.{C,B,D,A,E,F,I,C,J,H}C.{B,F,C,E,A,I,D,C,H,J}D.{A,B,D,C,E,F,I,J,C,H}*給定排序碼值序列為{F,B,J,C,E,A,I,D,C,H},對(duì)其按字母的字典序列的順序進(jìn)行排列,二路歸并排序的第一趟排序結(jié)果是(A)。A.{B,F(xiàn),C,J,A,E,D,I,C,H}B.{C,B,D,A,E,F,I,C,J,H}C.{B,F,C,E,A,I,D,C,H,J}D.{A,B,D,C,E,F(xiàn),I,J,C,H}簡(jiǎn)答題第一章緒論請(qǐng)分別給出數(shù)據(jù)、數(shù)據(jù)對(duì)象、數(shù)據(jù)元素、數(shù)據(jù)項(xiàng)的含義,并說(shuō)明四者的關(guān)系。數(shù)據(jù)(Dat(yī)a):是對(duì)信息的一種符號(hào)表達(dá)。在計(jì)算機(jī)科學(xué)中是指所有能輸入到計(jì)算機(jī)中并能被計(jì)算機(jī)程序解決的符號(hào)的總稱(chēng)。(一個(gè)得分點(diǎn))數(shù)據(jù)元素(Dat(yī)aElement):是數(shù)據(jù)的基本單位,在計(jì)算機(jī)程序中通常作為一個(gè)整體進(jìn)行考慮和解決,相稱(chēng)于表中的一條記錄。(一個(gè)得分點(diǎn))數(shù)據(jù)項(xiàng):相稱(chēng)于記錄的“域”,是數(shù)據(jù)的不可分割的最小單位,如學(xué)號(hào)(一個(gè)得分點(diǎn))數(shù)據(jù)對(duì)象:性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個(gè)子集.例如:同一個(gè)班的所有學(xué)生記錄集合。(一個(gè)得分點(diǎn))?關(guān)系:包含關(guān)系:數(shù)據(jù)泛指所有。數(shù)據(jù)對(duì)象是數(shù)據(jù)的一個(gè)子集,由數(shù)據(jù)元素組成,數(shù)據(jù)元素是由數(shù)據(jù)項(xiàng)組成。(一個(gè)得分點(diǎn))評(píng)分標(biāo)準(zhǔn),總共5個(gè)得分點(diǎn),每段話(huà)一個(gè)得分。請(qǐng)給出數(shù)據(jù)的邏輯結(jié)構(gòu)的含義,并舉例說(shuō)明數(shù)據(jù)的邏輯結(jié)構(gòu)通常有哪些。數(shù)據(jù)的邏輯結(jié)構(gòu):指數(shù)據(jù)元素之間的邏輯關(guān)系。即用自然語(yǔ)言描述數(shù)據(jù),它與數(shù)據(jù)的存儲(chǔ)無(wú)關(guān),是獨(dú)立于計(jì)算機(jī)的,邏輯結(jié)構(gòu)有四種。(一個(gè)得分點(diǎn))集合結(jié)構(gòu):僅同屬一個(gè)集合(結(jié)構(gòu)名字0.5個(gè)得分點(diǎn)、舉例0.5得分點(diǎn))線(xiàn)性結(jié)構(gòu):一對(duì)一(1:1)(結(jié)構(gòu)名字0.5個(gè)得分點(diǎn)、舉例0.5得分點(diǎn))樹(shù)結(jié)構(gòu):一對(duì)多(1:n)(結(jié)構(gòu)名字0.5個(gè)得分點(diǎn)、舉例0.5得分點(diǎn))圖結(jié)構(gòu):多對(duì)多(m:n)(結(jié)構(gòu)名字0.5個(gè)得分點(diǎn)、舉例0.5得分點(diǎn))評(píng)分標(biāo)準(zhǔn):每段話(huà)一個(gè)得分點(diǎn),總共5個(gè)得分點(diǎn)。什么是數(shù)據(jù)的物理結(jié)構(gòu)?有哪些物理結(jié)構(gòu)?數(shù)據(jù)的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)有什么區(qū)別與聯(lián)系?數(shù)據(jù)的物理結(jié)構(gòu):物理結(jié)構(gòu)亦稱(chēng)存儲(chǔ)結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器內(nèi)的表達(dá)(或映像)。它依賴(lài)于計(jì)算機(jī)。(一個(gè)得分點(diǎn))存儲(chǔ)結(jié)構(gòu)可分為4大類(lèi):順序、鏈?zhǔn)?、索引、散列。(?個(gè)得分點(diǎn),一個(gè)0.5得分點(diǎn))區(qū)別:數(shù)據(jù)的邏輯結(jié)構(gòu)屬于用戶(hù)視圖,是面向問(wèn)題的,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)屬于具體實(shí)現(xiàn)的視圖,是面向計(jì)算機(jī)的。(一個(gè)得分點(diǎn))聯(lián)系:一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以用多種存儲(chǔ)結(jié)構(gòu)來(lái)存儲(chǔ),而采用不同的存儲(chǔ)結(jié)構(gòu)其解決的效率往往不同。(一個(gè)得分點(diǎn))評(píng)分標(biāo)準(zhǔn):共5個(gè)得分點(diǎn),按照每段話(huà)各自標(biāo)注的得分點(diǎn)進(jìn)行評(píng)分。求兩個(gè)正整數(shù)m,n中的最大數(shù)MAX的算法(1)若m>n則max=m

(2)若m<=n則max=n請(qǐng)根據(jù)上述算法解釋一下算法的組成要素有哪些,分別是什么。算法由操作、控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)3要素組成操作包含:算術(shù)運(yùn)算、關(guān)系比較、邏輯運(yùn)算、數(shù)據(jù)傳送(輸入、輸出、賦值)(一個(gè)得分點(diǎn))例子中有關(guān)系比較和賦值計(jì)算的操作。(一個(gè)得分點(diǎn))控制結(jié)構(gòu)包含:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(一個(gè)得分點(diǎn))例子中有選擇結(jié)構(gòu)(一個(gè)得分點(diǎn))數(shù)據(jù)結(jié)構(gòu):算法操作的對(duì)象是數(shù)據(jù),數(shù)據(jù)間的邏輯關(guān)系、數(shù)據(jù)的存儲(chǔ)方式及解決方式就是數(shù)據(jù)結(jié)構(gòu)。(一個(gè)得分點(diǎn))本例是數(shù)值問(wèn)題,涉及到兩個(gè)正整數(shù),因此使用基本的整數(shù)類(lèi)型就可以解決問(wèn)題。(一個(gè)得分點(diǎn))評(píng)分標(biāo)準(zhǔn):本題共6個(gè)得分點(diǎn),每段話(huà)一個(gè)得分點(diǎn)。簡(jiǎn)述算法的基本性質(zhì)1)輸入:0個(gè)或多個(gè)輸入2)輸出:1個(gè)或多個(gè)輸出3)有窮性:算法必須在有限步內(nèi)結(jié)束4)擬定性:組成算法的操作必須清楚無(wú)二義性5)可行性:組成算法的操作必須可以在計(jì)算機(jī)上實(shí)現(xiàn)評(píng)分標(biāo)準(zhǔn),本題共5個(gè)得分點(diǎn),每個(gè)要點(diǎn)一分。簡(jiǎn)述算法的設(shè)計(jì)規(guī)定1、對(duì)的性(correctness)2、可讀性(readability)3、健壯性(robustness)4、通用性(generality)5、效率與存儲(chǔ)的規(guī)定(執(zhí)行算法所花費(fèi)的存儲(chǔ)空間、執(zhí)行算法所花費(fèi)的時(shí)間)評(píng)分標(biāo)準(zhǔn),本題共5個(gè)得分點(diǎn),每個(gè)要點(diǎn)一分。評(píng)價(jià)算法好壞的3條重要標(biāo)準(zhǔn)1)算法實(shí)現(xiàn)所花費(fèi)的時(shí)間。2)算法實(shí)現(xiàn)所花費(fèi)的存儲(chǔ)空間,其中重要考慮輔助存儲(chǔ)空間。3)算法應(yīng)易于理解、易于編碼、易于調(diào)試等。評(píng)分標(biāo)準(zhǔn),本題共3個(gè)得分點(diǎn),每個(gè)要點(diǎn)一分。請(qǐng)簡(jiǎn)述數(shù)據(jù)結(jié)構(gòu)所研究的三種基本結(jié)構(gòu),以及數(shù)據(jù)元素間的關(guān)系。線(xiàn)性結(jié)構(gòu):數(shù)據(jù)元素之間一對(duì)一的關(guān)系。(2分)樹(shù)形結(jié)構(gòu):數(shù)據(jù)元素之間一對(duì)多的關(guān)系。(1.5分)圖形結(jié)構(gòu):數(shù)據(jù)元素之間多對(duì)多的關(guān)系。(1.5分)請(qǐng)問(wèn)算法的分析和評(píng)價(jià)的兩個(gè)標(biāo)準(zhǔn),以及各自作用。時(shí)間復(fù)雜度:評(píng)估算法運(yùn)營(yíng)所需時(shí)間。(1.5+1分)空間復(fù)雜度:評(píng)估算法運(yùn)營(yíng)時(shí)所需最大存儲(chǔ)空間。(1.5+1分)請(qǐng)說(shuō)出三種邏輯數(shù)據(jù)結(jié)構(gòu),以及他們的特點(diǎn)。(5分)(1)線(xiàn)性結(jié)構(gòu):數(shù)據(jù)元素只有一個(gè)前驅(qū)數(shù)據(jù)元素和一個(gè)后繼數(shù)據(jù)元素。(2分)(2)樹(shù)結(jié)構(gòu):每個(gè)數(shù)據(jù)元素只有一個(gè)前驅(qū)數(shù)據(jù)元素,可有零個(gè)或若干個(gè)后繼數(shù)據(jù)元素。(1.5分)(3)圖結(jié)構(gòu):每個(gè)數(shù)據(jù)元素可有零個(gè)或若干個(gè)前驅(qū)數(shù)據(jù)元素,零個(gè)或若干個(gè)后繼數(shù)據(jù)元素。(1.5分)評(píng)價(jià)算法的重要標(biāo)準(zhǔn)是什么?(1)算法實(shí)現(xiàn)所花費(fèi)的時(shí)間(2分)(2)算法實(shí)現(xiàn)所花費(fèi)的存儲(chǔ)空間,其中重要考慮輔助存儲(chǔ)空間。(2分)(3)算法應(yīng)易于理解、易于編碼、易于調(diào)試。(1分)請(qǐng)說(shuō)出三種邏輯數(shù)據(jù)結(jié)構(gòu),并分別畫(huà)圖表達(dá)它們。(a,2分,b,c各1.5分)算法的基本性質(zhì)有哪些?并簡(jiǎn)述每個(gè)特性。(5分)(1)有窮性——.....(1分)(2)擬定性——.....(1分)(3)可行性——.....(1分)(4)輸入性——.....(1分)(5)輸出性——.....(1分)通常從那幾個(gè)方面來(lái)評(píng)價(jià)算法的質(zhì)量?(5分)通常從四個(gè)方面評(píng)價(jià)算法的質(zhì)量:對(duì)的性、可讀性、健壯性和高效性。(少一個(gè)扣1分)請(qǐng)描述線(xiàn)性數(shù)據(jù)結(jié)構(gòu)的兩種存儲(chǔ)方式,并說(shuō)出其各有什么特點(diǎn)。順序存儲(chǔ):連續(xù)存儲(chǔ),易于定位,不易于插入和刪除。(1+1.5分)鏈?zhǔn)酱鎯?chǔ):非連續(xù)存儲(chǔ),不易于定位,易于插入和刪除。(1+1.5分)請(qǐng)問(wèn)算法的分析和評(píng)價(jià)的兩種方法,它們關(guān)注點(diǎn)各有什么不同?(簡(jiǎn)樸)空間效率:關(guān)注算法對(duì)內(nèi)存的占用度。(1+1.5分)時(shí)間效率:關(guān)注算法的運(yùn)算速度。(1+1.5分)第二章線(xiàn)性表請(qǐng)問(wèn)假如要插入一個(gè)數(shù)據(jù)到一個(gè)線(xiàn)性表中,順序表和鏈表哪個(gè)的效率高?為什么?鏈表的效率高(2分),由于順序表要移動(dòng)插入位置后的每一個(gè)元素的位置給新數(shù)據(jù)騰位置(1.5分)。鏈表只需要將前一個(gè)數(shù)據(jù)的指針指向新數(shù)據(jù)并將新數(shù)據(jù)的指針指向后一個(gè)數(shù)據(jù)即可(1.5分)。線(xiàn)性表有哪些特點(diǎn)?1)除第一個(gè)和最后一個(gè)數(shù)據(jù)元素外,每個(gè)數(shù)據(jù)元素只有一個(gè)前驅(qū)數(shù)據(jù)元素和一個(gè)后繼數(shù)據(jù)元素;(2分)2)第一個(gè)數(shù)據(jù)元素沒(méi)有前驅(qū)數(shù)據(jù)元素;(1.5分)3)最后一個(gè)數(shù)據(jù)元素沒(méi)有后繼數(shù)據(jù)元素。(1.5分)順序存儲(chǔ)結(jié)構(gòu)的優(yōu)缺陷有哪些?(中檔)順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn):(2.5分)存儲(chǔ)空間連續(xù)邏輯相鄰,物理相鄰可隨機(jī)存取任一元素缺陷:(2.5分)插入、刪除操作需要移動(dòng)大量的元素預(yù)先分派空間需按最大空間分派,運(yùn)用不充足表容量難以擴(kuò)充單鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的優(yōu)缺陷有哪些?(中檔)單鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的優(yōu)點(diǎn):(2.5分)不需預(yù)先分派空間,空間運(yùn)用充足插入、刪除操作簡(jiǎn)樸,無(wú)需移動(dòng)大量的元素表容量易于擴(kuò)充缺陷:(2.5分)每個(gè)數(shù)據(jù)元素,除存儲(chǔ)自身信息外,還需空間存儲(chǔ)其直接后繼的信息邏輯相鄰,物理不一定相鄰不可隨機(jī)存取任一元素,只能從鏈表頭依次查找.有順序表A=(a0,a1,a2,...a8,a9,…a19),要在a8,a9之間插入一個(gè)元素a20,請(qǐng)描述其操作(思想)環(huán)節(jié)。(中檔)插入思想或環(huán)節(jié):根據(jù)順序表的存儲(chǔ)特點(diǎn),要在表中某位置10插入一新數(shù)據(jù)元素,則要進(jìn)行如下兩步操作:(1)、從位置10到表尾位置的所有數(shù)據(jù)元素均要從后至前依次向后移一個(gè)存儲(chǔ)位置,為新插入結(jié)點(diǎn)騰出第10個(gè)位置。(2分)(2)、將新結(jié)點(diǎn)插入到空余位置10處。2分)(3)表長(zhǎng)度加1.(1分)有順序表A=(a0,a1,a2,...a8,a9,…a19),要?jiǎng)h除一個(gè)元素a9,請(qǐng)描述其操作(思想)環(huán)節(jié)。(中檔)(1)然后將從位置11到表尾的所有數(shù)據(jù)元素依次向前移一個(gè)存儲(chǔ)位置。(3分)(2)表長(zhǎng)度減1.(2分)請(qǐng)描述在順序表中第i個(gè)位置插入新的數(shù)據(jù)x操作過(guò)程。根據(jù)順序表的存儲(chǔ)特點(diǎn),要在表中某位置i插入一新數(shù)據(jù)元素,則要進(jìn)行如下兩步操作:(1)從位置i到表尾位置的所有數(shù)據(jù)元素均要從后至前依次向后移一個(gè)存儲(chǔ)位置,為新插入結(jié)點(diǎn)騰出第i個(gè)位置;(2分)(2)將新數(shù)據(jù)x插入到空余位置i處。(2分)(3)表長(zhǎng)度加1.(1分)請(qǐng)描述在順序表中刪除第i個(gè)位置的數(shù)據(jù)的過(guò)程。(1)然后將從位置i到表尾的所有數(shù)據(jù)元素依次向前移一個(gè)存儲(chǔ)位置。(3分)(2)表長(zhǎng)度減1.(2分)請(qǐng)描述在一個(gè)單鏈表中插入一個(gè)數(shù)據(jù)q的插入過(guò)程。找到將插入數(shù)據(jù)位置的前一個(gè)結(jié)點(diǎn)p;(1分)q的next值等于p的next值;(2分)(3)p的next值等于q;(2分)請(qǐng)描述從一個(gè)單鏈表中刪除一個(gè)數(shù)據(jù)的刪除過(guò)程。(1)找到將被刪除數(shù)據(jù)的前一個(gè)結(jié)點(diǎn)p;(2分)(2)p的next指針指向被刪除數(shù)據(jù)的后一個(gè)結(jié)點(diǎn);(2分)(3)將被刪除數(shù)據(jù)本來(lái)的next指針指向null;(1分)第三章棧和隊(duì)列請(qǐng)簡(jiǎn)述線(xiàn)性表、棧和隊(duì)列三者之間的聯(lián)系。(簡(jiǎn)樸)(1)線(xiàn)性表、棧和隊(duì)列都屬于線(xiàn)性結(jié)構(gòu)。(2分)(2)棧和隊(duì)列都是特殊的線(xiàn)性表,并且都有順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)兩種存儲(chǔ)方式。(1分)(3)棧是一種先進(jìn)后出的線(xiàn)性表,隊(duì)列是一種先進(jìn)先出的線(xiàn)性表(2分)在計(jì)算機(jī)進(jìn)行運(yùn)算時(shí),需要把十進(jìn)制轉(zhuǎn)換為二進(jìn)制。請(qǐng)問(wèn)答:這種數(shù)制轉(zhuǎn)換可以借助于哪種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)、及因素。答:棧。(2分)因素:(3分)在進(jìn)行數(shù)值轉(zhuǎn)換時(shí),其實(shí)質(zhì)是求余的過(guò)程,并且余數(shù)的倒序序列正是所求結(jié)果。棧是一種先進(jìn)后出的線(xiàn)性結(jié)構(gòu),可以滿(mǎn)足這種操作。有一字符序列abcde依次按照某一線(xiàn)性結(jié)構(gòu)存儲(chǔ),請(qǐng)回答以下問(wèn)題: (1)、假如該線(xiàn)性結(jié)構(gòu)是隊(duì)列,那么,寫(xiě)出出隊(duì)序列。 (2)、假如該線(xiàn)性結(jié)構(gòu)是棧,那么,輸出序列也許是d,c,e,a,b嗎,為什么? (3)、假如該線(xiàn)性結(jié)構(gòu)是棧,且輸出序列是abcde。請(qǐng)寫(xiě)出操作過(guò)程。(push(x):表達(dá)把x壓入棧內(nèi);pop(x):表達(dá)把x彈出棧)?答:(1)、abcde(1分)(2)、不也許,由于:d是第一出棧字符,說(shuō)明a,b已別壓入棧內(nèi);并且壓入棧的順序?yàn)閍bcde;由以上得出:ab出棧的順序只能是b、a,而不是a、b。所以,出棧序列d,c,e,a,b是不也許的。(2分)(3)、(2分)push(a),pop(a)push(b),pop(b)push(c),pop(c)push(d),pop(d)push(e),pop(e)簡(jiǎn)述棧和隊(duì)列的異同點(diǎn)。相同點(diǎn):棧和隊(duì)列都是只允許在表的端點(diǎn)處進(jìn)行插入、刪除操作的線(xiàn)性表。(2分)不同點(diǎn):棧的特點(diǎn)是先進(jìn)后出,隊(duì)列的特點(diǎn)是后進(jìn)先出。(3分)若依次讀入數(shù)據(jù)元素序列1、2、3,進(jìn)棧的過(guò)程中允許出棧,試寫(xiě)出各種也許的出棧序列。答:123、132、213、231、321(各1分)假如入棧序列有ABC組成,請(qǐng)問(wèn)輸出序列也許有哪些?(較難)輸出序列有5種:CBA,BCA,BAC,ACB,ABC(各1分)假如有abcde五個(gè)數(shù)據(jù)依次所有存入,假如采用隊(duì)列和棧來(lái)進(jìn)行存儲(chǔ),依次取出分別將獲得什么內(nèi)容。(簡(jiǎn)樸)隊(duì)列:abcde(2.5分)棧:edcba(2.5分)設(shè)將整數(shù)1,2,3,4依次進(jìn)棧,能否得到1423出棧序列和1432?并說(shuō)明為什么不能得到或者如何得到。(中檔)不能得到1423,但可以得到1432(2分)由于要得到4必須將所有數(shù)據(jù)入棧,這樣將只能依次獲取到1432不能獲得1423。采用push、pop、push、push、push、pop、pop、pop可以獲得1432。(3分)循環(huán)隊(duì)列的優(yōu)點(diǎn)是什么?如何判斷它的空和滿(mǎn)?(可不考)循環(huán)隊(duì)列的優(yōu)點(diǎn)是可以克服順序隊(duì)列的"假上溢"現(xiàn)象,可以使存儲(chǔ)隊(duì)列的向量空間得到充足的運(yùn)用。(3分)采用犧牲一個(gè)元素空間的方法,循環(huán)隊(duì)列隊(duì)空的條件是front==rear,循環(huán)隊(duì)列隊(duì)滿(mǎn)的條件是:(rear+1)%M==front。(2分)第四章串對(duì)于字符串S=’abcde’,請(qǐng)問(wèn):(簡(jiǎn)樸)(1)字符串S的長(zhǎng)度是多少?(2)字符串S的子串有幾個(gè),并列出所有子串?答:(1)、5(1分)(2)、16,(1分)所有字串:’a’、’b’、’c’、’d’、’e’、’ab’、’bc’、’cd’、’de’、’abc’、’bcd’、’cde’、’abcd’、’bcde’、’abcde’、Φ。(3分)對(duì)于字符串S=’12345’,請(qǐng)問(wèn):(簡(jiǎn)樸)(1)字符串S的長(zhǎng)度是多少?(2)字符串S的子串有幾個(gè),并列出所有子串?答:(1)、5(1分)(2)、16,(1分)所有字串:’1’、’2’、’3’、’4’、’5’、’12’、’23’、’34’、’45’、’123’、’234’、’345’、’1234’、’2345’、’12345’、Φ。(3分)?請(qǐng)問(wèn)答:什么串的模式匹配?模式匹配算法有幾種?(簡(jiǎn)樸)答:串的模式匹配是指子串的定位運(yùn)算,即在主串中查找子串第一次出現(xiàn)的位置。模式匹配算法有兩種:簡(jiǎn)樸匹配算法(Brute-Force)、KMP算法。(該題共4個(gè)得分點(diǎn),答對(duì)串匹配定義或大意基本相同,得2分;答對(duì)兩種匹配算,得2分,答錯(cuò)或少答一個(gè)扣1分)第五章數(shù)組和廣義表在數(shù)據(jù)結(jié)構(gòu)中,數(shù)組是最基本的結(jié)構(gòu),請(qǐng)完畢以下規(guī)定:(1)、定義一個(gè)能容納5個(gè)整型元素的數(shù)組iAry,且元素的值為10、20、30、40、50。(2)、*畫(huà)出數(shù)組iAry的順序存儲(chǔ)結(jié)構(gòu)。(規(guī)定:整型長(zhǎng)度為兩個(gè)字節(jié))(1)、intiAry[5]={10、20、30、40、50}(2分)(2)、如下圖:(3分,根據(jù)情況,酌情扣分)簡(jiǎn)述數(shù)組的定義、特點(diǎn)和分類(lèi)。(簡(jiǎn)樸)定義:數(shù)組是n個(gè)相同數(shù)據(jù)類(lèi)型的數(shù)據(jù)元素a0,a1,a2,...,an-1構(gòu)成的有限集合。(1個(gè)得分點(diǎn))特點(diǎn):1)數(shù)組中各元素具有統(tǒng)一的類(lèi)型;(1個(gè)得分點(diǎn))2)數(shù)組元素的下標(biāo)一般具有固定的上界和下界,即數(shù)組一旦被定義,它的維數(shù)和維界就不再改變。(1個(gè)得分點(diǎn))3數(shù)組的基本操作比較簡(jiǎn)樸,除了結(jié)構(gòu)的初始化和銷(xiāo)毀之外,只有存取元素和修改元素值的操作。(1個(gè)得分點(diǎn))分類(lèi):按維度可分為一維數(shù)組、二維數(shù)組、多維數(shù)組(1個(gè)得分點(diǎn))已知一個(gè)二維數(shù)組A如下所示。(較難)(1)請(qǐng)按照行優(yōu)先、列優(yōu)先的方式進(jìn)行順序存儲(chǔ),給出順序存儲(chǔ)的序列(2個(gè)得分點(diǎn))行優(yōu)先:a11a12a13a21a22a23列優(yōu)先:a11a21a12a22a13a23(2)若a11在內(nèi)存中存儲(chǔ)的地址為α,每個(gè)元素的存儲(chǔ)空間大小為L(zhǎng),則按照行優(yōu)先的方式和列優(yōu)先的方式分別存儲(chǔ),其中a22的地址loc(a22)分別為多少(2個(gè)得分點(diǎn))行優(yōu)先:loc(a22)=α+4L列優(yōu)先:loc(a22)=α+3L(3)對(duì)于數(shù)組,除了順序存儲(chǔ)外,尚有沒(méi)有其他存儲(chǔ)方式?沒(méi)有填無(wú),若有,請(qǐng)說(shuō)明。有,鏈?zhǔn)酱鎯?chǔ),如下圖所示(1個(gè)得分點(diǎn))第六章樹(shù)和二叉樹(shù)有一樹(shù),如下圖所示:(簡(jiǎn)樸)請(qǐng)回答以下問(wèn)題:(1)樹(shù)的葉子結(jié)點(diǎn)及其度。(2)非終端結(jié)點(diǎn)及其度。(3)樹(shù)的深度。答:(1)、葉子結(jié)點(diǎn)有:D、E、F、G,它們的度都為零。(2分)(2)、非終端結(jié)點(diǎn)有:A度為3,B度為2,C度為1。(2分)(3)、樹(shù)的深度為3。(1分)請(qǐng)回答:樹(shù)與二叉樹(shù)有什么區(qū)別?(中檔)答:區(qū)別有兩點(diǎn):(1)二叉樹(shù)的一個(gè)結(jié)點(diǎn)至多有兩個(gè)子樹(shù),樹(shù)則不然。(2.5分)(2)二叉樹(shù)一個(gè)結(jié)點(diǎn)的子樹(shù)有左右之分,而樹(shù)的子樹(shù)沒(méi)有順序。(2.5分)有一棵具有n個(gè)結(jié)點(diǎn)的滿(mǎn)二叉樹(shù)。請(qǐng)問(wèn):該滿(mǎn)二叉樹(shù)的葉子結(jié)點(diǎn)數(shù)目是多少,并寫(xiě)出分析推理過(guò)程。(中檔)答:(n+1)/2。(2分)分析過(guò)程:滿(mǎn)二叉樹(shù)中只有度為2和度為0的結(jié)點(diǎn),故設(shè)葉子結(jié)點(diǎn)數(shù)目為:n0,度為2結(jié)點(diǎn)數(shù)目為:n2。又由于n0=n2+1,n=n2+n0,所以可得出:n0=(n+1)/2。(3分)有一棵二叉樹(shù),如下圖所示:(簡(jiǎn)樸)請(qǐng)問(wèn)答以下問(wèn)題:(1)、用先序遍歷法遍歷該二叉樹(shù),則遍歷結(jié)果是什么?(2)、用中序遍歷法遍歷該二叉樹(shù),則遍歷結(jié)果是什么?(3)、用后序遍歷法遍歷該二叉樹(shù),則遍歷結(jié)果是什么?答:(1)、ABDCEF(2)、DBAECF(3)、DBEFCA(錯(cuò)一個(gè)扣1.5分)請(qǐng)問(wèn)如下二叉樹(shù),假如采用前序\中序\后序遍歷結(jié)果是什么?(中檔)前序:ABDECF;中序:DBEAFC;后序:DEBFCA;(錯(cuò)一個(gè)扣1.5分)有如下一顆樹(shù)其前序\中序\后序遍歷結(jié)果是什么?(中檔)其前序遍歷結(jié)果是:ABDGCEF其中序遍歷結(jié)果是:DGBAECF其后序遍歷結(jié)果是:GDBEFCA(錯(cuò)一個(gè)扣1.5分)假定用于通信的電文由8個(gè)字符A、B、C、D、E、F、G、H組成,各字母在電文中出現(xiàn)概率為5%、25%、4%、7%、9%、12%、30%、8%。現(xiàn)在把字符出現(xiàn)概率擴(kuò)大100倍后,作為這8個(gè)字母相應(yīng)的權(quán)值(5,25,4,7,9,12,30,8)。以這些權(quán)值構(gòu)成的霍夫曼樹(shù),如下圖所示:請(qǐng)問(wèn)答以下問(wèn)題:(中檔)(1)、參考霍夫曼樹(shù),給字符A、B、C、D、E、F、G、H進(jìn)行編碼。(寫(xiě)出這8?jìng)€(gè)字符的霍夫曼編碼)(2)、假如發(fā)送的電文信息為“HECDB”,那么,發(fā)送的數(shù)據(jù)是什么。(或者說(shuō)發(fā)送的編碼序列是什么)答:(1)、A:0011,B:01,C:0010, D:1010,E:000,?F:100,G:11,H:1011(3分)(2)、10110000010101001(2分)請(qǐng)簡(jiǎn)述滿(mǎn)二叉樹(shù)、完全二叉樹(shù)的聯(lián)系。答:(1)、它們都是特殊的二叉樹(shù),遵循著二叉樹(shù)的性質(zhì)。(2.5分)(2)、滿(mǎn)二叉樹(shù)是指每一層HYPERLINK""\t"_blank"結(jié)點(diǎn)數(shù)都達(dá)成了最大值,所有HYPERLINK""\t"_blank"葉子結(jié)點(diǎn)均在最大層上;而完全二叉樹(shù)是遵循著滿(mǎn)二叉樹(shù)結(jié)點(diǎn)編號(hào)序列規(guī)律的一種樹(shù)。(2.5分)如下是一顆樹(shù).請(qǐng)問(wèn)度為2的節(jié)點(diǎn)有哪些?度為3的節(jié)點(diǎn)有哪些?這顆樹(shù)的度為多少?樹(shù)的深度是幾?(中檔)答:度為2的節(jié)點(diǎn)有B,E;(1.5分)度為3的節(jié)點(diǎn)有A,D;(1.5分)這顆樹(shù)的度為4,(1分)樹(shù)的深度是4.(1分)請(qǐng)畫(huà)出深度為4的滿(mǎn)二叉樹(shù)(較難)請(qǐng)畫(huà)出深度為4的完全二叉樹(shù)(較難)給定一組權(quán)值{6,2,3,9,6}根據(jù)哈夫曼算法構(gòu)造哈夫曼樹(shù).(難)將6、2、3、9、6當(dāng)作是有5棵樹(shù)的森林(每棵樹(shù)僅有一個(gè)結(jié)點(diǎn));2)在森林中選出兩個(gè)根結(jié)點(diǎn)的權(quán)值最小的2,3樹(shù)合并,作為一棵新樹(shù)的左、右子樹(shù),且新樹(shù)的根結(jié)點(diǎn)權(quán)值為其左、右子樹(shù)根結(jié)點(diǎn)權(quán)值之和5;從森林中刪除選取的兩棵樹(shù),并將新樹(shù)加入森林;?3)在森林中選出兩個(gè)根結(jié)點(diǎn)的權(quán)值最小的5,6樹(shù)合并,作為一棵新樹(shù)的左、右子樹(shù),且新樹(shù)的根結(jié)點(diǎn)權(quán)值為其左、右子樹(shù)根結(jié)點(diǎn)權(quán)值之和11;從森林中刪除選取的兩棵樹(shù),并將新樹(shù)加入森林;4)在森林中選出兩個(gè)根結(jié)點(diǎn)的權(quán)值最小的6,9樹(shù)合并,作為一棵新樹(shù)的左、右子樹(shù),且新樹(shù)的根結(jié)點(diǎn)權(quán)值為其左、右子樹(shù)根結(jié)點(diǎn)權(quán)值之和15;從森林中刪除選取的兩棵樹(shù),并將新樹(shù)加入森林;5)在森林中選出兩個(gè)根結(jié)點(diǎn)的權(quán)值最小的11,15樹(shù)合并,作為一棵新樹(shù)的左、右子樹(shù),且新樹(shù)的根結(jié)點(diǎn)權(quán)值為其左、右子樹(shù)根結(jié)點(diǎn)權(quán)值之和26;從森林中刪除選取的兩棵樹(shù),并將新樹(shù)加入森林;第七章圖什么叫圖G的生成樹(shù)答:連通圖G的一個(gè)子圖假如是一棵包含G的所有頂點(diǎn)的樹(shù),則該子圖稱(chēng)為G的生成樹(shù)。寫(xiě)出下面圖的鄰接矩陣答案用鄰接表表達(dá)下圖的存儲(chǔ)結(jié)構(gòu)答案已知如下的有向圖=1\*GB3①每個(gè)頂點(diǎn)的入度和出度;=2\*GB3②鄰接矩陣;=3\*GB3③鄰接表;答案第八章查找什么是查找、靜態(tài)查找以及動(dòng)態(tài)查找?并說(shuō)出關(guān)于靜態(tài)查找的幾種算法(簡(jiǎn)樸)查找:給定一個(gè)值K,在具有n個(gè)記錄的文獻(xiàn)中進(jìn)行搜索,尋找一個(gè)關(guān)鍵字值等于K的記錄,如找到則輸出該記錄,否則輸出查找不成功的信息。(1個(gè)得分點(diǎn))靜態(tài)查找:只查找,不改變集合內(nèi)的數(shù)據(jù)元素。(0.5個(gè)得分點(diǎn))動(dòng)態(tài)查找:既查找,又改變(增減)集合內(nèi)的數(shù)據(jù)元素(0.5個(gè)得分點(diǎn))靜態(tài)查找的算法有:順序、二分、分塊查找(3個(gè)得分點(diǎn))請(qǐng)回答出四種查找方法,以及對(duì)查找方法評(píng)價(jià)的標(biāo)準(zhǔn)是什么?(簡(jiǎn)樸)答:順序查找、二分查找(折半查找法)、索引查找、哈希表查找。(4分)查找方法評(píng)價(jià)的標(biāo)準(zhǔn)是:平均查找長(zhǎng)度(1分)請(qǐng)回答出二分查找與順序查找各自的優(yōu)缺陷?(簡(jiǎn)樸)1)順序查找優(yōu)點(diǎn):算法簡(jiǎn)樸,且對(duì)順序結(jié)構(gòu)或鏈表結(jié)構(gòu)均合用。(1個(gè)得分點(diǎn))缺陷:查找性能較低,平均查找長(zhǎng)度大(1個(gè)得分點(diǎn))2)二分查找1)優(yōu)點(diǎn):查找效率高,平均查找長(zhǎng)度小。(1個(gè)得分點(diǎn))2)缺陷:a.查找表需按關(guān)鍵字排序(有序表)。(1個(gè)得分點(diǎn))b.二分查找只合用順序存儲(chǔ)結(jié)構(gòu)。為保持表的有序性,在順序結(jié)構(gòu)里插入和刪除都必須移動(dòng)大量的結(jié)點(diǎn)。(1個(gè)得分點(diǎn))第九章排序有一組數(shù)據(jù){64,5,7,98,6,24},請(qǐng)列出直接選擇排序(升序)的過(guò)程.(難)初始序列 64 5?7?98 6?24第1次排序?[5]?64?7 98 6?24第2次排序?[5 6]?7 98?64 24第3次排序 [5?6?7]?98 64?24第4次排序 [5?6 7 24]?64?98第5次排序 [5?6 7?24 64] 98最終結(jié)果 [5 6 7 24 64?98]有一組數(shù)據(jù){64,5,7,98,6,24},請(qǐng)列出冒泡排序(升序)的過(guò)程.(難)初始序列?64?5?7?98 6?24第1次排序 5?7?64 6?24 [98]第2次排序?5?7?6?24?[64 98]第3次排序?5 6?7 [24 64 98]第4次排序?5 6?[7 24?64 98]第5次排序?5 [6?7 24?64 98]最終結(jié)果?[5 6 7 24 64 98]有一組數(shù)據(jù){64,5,7,98,6,24},請(qǐng)列出直接插入排序(升序)的過(guò)程.(難)初始序列?[64]5?7986 24第1次排序?[5?64]7986?24第2次排序 [57 64]986?24第3次排序 [57 6498]6?24第4次排序?[567 6498]?24第5次排序?[567?24 6498]有關(guān)鍵字序列(16,15,18,16,17,18,20,13),現(xiàn)采用直接插入排序?qū)﹃P(guān)鍵字按遞增序排列,請(qǐng)畫(huà)出具體過(guò)程(難)初始序列 [16],15,18,16,17,18,20,13第1次排序[15,16],18,16,17,18,20,13第2次排序 [15,16,18],16,17,18,20,13第3次排序 [15,16,16,18],17,18,20,13第4次排序 [15,16,16,17,18],18,20,13第5次排序?[15,16,16,17,18,18],20,13第6次排序?[15,16,16,17,18,18,20],13第7次排序?[13,15,16,16,17,18,18,20]有關(guān)鍵字序列(16,15,18,16,17,18,20,13),現(xiàn)采用冒泡排序?qū)﹃P(guān)鍵字按遞增序排列,請(qǐng)畫(huà)出具體過(guò)程(難)初始序列 1615181617182013第1次排序15161617181813[20]第2次排序 151616171813[1820]第3次排序?1516161713[181820]第4次排序 15,16,16,13,[17,18,18,20]第5次排序 15,16,13,[16,17,18,18,20]第6次排序 15,13,[16,16,17,18,18,20]第7次排序?13,[15,16,16,17,18,18,20]有關(guān)鍵字序列(16,15,18,16,17,18,20,13),現(xiàn)采用直接選擇排序?qū)﹃P(guān)鍵字按遞增序排列,請(qǐng)畫(huà)出具體過(guò)程(難)初始序列 16,15,18,16,17,18,20,13第1次排序[13],15,18,16,17,18,20,16第2次排序[13,15],18,16,17,18,20,16第3次排序[13,15,16],18,17,18,20,16第4次排序[13,15,16,16],17,18,20,18第5次排序[13,15,16,16,17],18,20,18第6次排序[13,15,16,16,17,18],20,18第7次排序[13,15,16,16,17,18,18],20編程題第一章緒論第二章線(xiàn)性表已知某個(gè)班級(jí)的學(xué)生信息表如下表所示,請(qǐng)使用順序表結(jié)構(gòu)編程實(shí)現(xiàn)將學(xué)生信息(、楊三)插入到表中第一條的位置。學(xué)號(hào)(ID)姓名(Name)李華王麗具體規(guī)定:編寫(xiě)代碼定義順序表結(jié)構(gòu),完畢該信息表已有數(shù)據(jù)的初始化工作,最后完畢數(shù)據(jù)的插入。classStudent{//兩個(gè)得分點(diǎn)publicStringno; //學(xué)生學(xué)號(hào)publicStringname; //學(xué)生姓名?publicStudent(Stringno,Stringname){ ?this.no=no;??this.name=name;?}}publicclassLineList{ //LineList為線(xiàn)性表名?intlength=35; //表長(zhǎng)度(1個(gè)得分點(diǎn))Studentdata[]=newStudent[length];//順序表數(shù)組1個(gè)得分點(diǎn) intcurlen=0;?//實(shí)際表長(zhǎng)(1個(gè)得分點(diǎn)) //插入方法?publicbooleaninsert(inti,Studentstu){??//插入位置對(duì)的與否判斷(1個(gè)得分點(diǎn))if(i<1||i>this.curlen+1||this.curlen>=this.length){ ?returnfalse;} //從第i個(gè)位置開(kāi)始順序表所有結(jié)點(diǎn)均后移一個(gè)位置(1個(gè)得分點(diǎn)) intn=this.curlen; ?for(;n>=i;n--) dat(yī)a[n]=data[n-1];? //插入新結(jié)點(diǎn)stu(1個(gè)得分點(diǎn))??data[n]=stu; this.curlen++;(1個(gè)得分點(diǎn)) ?returntrue;?}?publicstat(yī)icvoidmain(String[]args){ //初始化數(shù)據(jù)(2個(gè)得分點(diǎn))? LineListlst=newLineList(); Studentstu1=newStudent("","李華"); ?Studentstu2=newStudent("","王麗"); lst.dat(yī)a[0]=stu1;? lst.data[1]=stu2;? //進(jìn)行插入操作(1個(gè)得分點(diǎn)) ?Studentstu3=newStudent("","楊三");??lst.insert(1,stu3); }}評(píng)分標(biāo)準(zhǔn):總共15個(gè)得分點(diǎn),其中程序規(guī)范、語(yǔ)法(3個(gè)得分點(diǎn),語(yǔ)法有問(wèn)題但不影響程序邏輯,按0.5得分點(diǎn)每一處扣分,扣完為止),程序邏輯12個(gè)得分點(diǎn)(按照程序代碼各處標(biāo)注分?jǐn)?shù)進(jìn)行打分)已知某個(gè)圖書(shū)館的圖書(shū)信息表如下表所示,請(qǐng)使用順序表結(jié)構(gòu)編程實(shí)現(xiàn)將圖書(shū)信息(10101、鹿鼎記)插入到表中第一條的位置。圖書(shū)號(hào)(ID)書(shū)名(Name)10102神雕俠侶10103鴛鴦刀具體規(guī)定:編寫(xiě)代碼定義順序表結(jié)構(gòu),完畢該信息表已有數(shù)據(jù)的初始化工作,最后完畢數(shù)據(jù)的插入。classBook{//兩個(gè)得分點(diǎn)publicStringno; //圖書(shū)編號(hào)publicStringname; //圖書(shū)名稱(chēng) publicBook(Stringno,Stringname){ ?this.no=no; ?this.name=name; }}publicclassLineList{ //LineList為線(xiàn)性表名?intlength=35;?//表長(zhǎng)度(1個(gè)得分點(diǎn))Bookdata[]=newBook[length];//順序表數(shù)組1個(gè)得分點(diǎn)?intcurlen=0;?//實(shí)際表長(zhǎng)(1個(gè)得分點(diǎn)) //插入方法 publicbooleaninsert(inti,Bookbook){ ?//插入位置對(duì)的與否判斷(1個(gè)得分點(diǎn))if(i<1||i>this.curlen+1||this.curlen>=this.length){ ? returnfalse;} ?//從第i個(gè)位置開(kāi)始順序表所有結(jié)點(diǎn)均后移一個(gè)位置(1個(gè)得分點(diǎn)) intn=this.curlen; for(;n>=i;n--)? data[n]=data[n-1];??//插入新結(jié)點(diǎn)book(1個(gè)得分點(diǎn))? data[n]=book;??this.curlen++;(1個(gè)得分點(diǎn))??returntrue; } publicstaticvoidmain(String[]args){ ?//初始化數(shù)據(jù)(2個(gè)得分點(diǎn)) ?LineListlst=newLineList(); Bookbook1=newBook("10102","神雕俠侶");? Bookbook2=newBook("10103","鴛鴦刀");? lst.data[0]=book1;??lst.data[1]=book2; //進(jìn)行插入操作(1個(gè)得分點(diǎn)) Bookbook3=newBook("10101","鹿鼎記");??lst.insert(1,book3);?}}評(píng)分標(biāo)準(zhǔn):總共15個(gè)得分點(diǎn),其中程序規(guī)范、語(yǔ)法(3個(gè)得分點(diǎn),語(yǔ)法有問(wèn)題但不影響程序邏輯,按0.5得分點(diǎn)每一處扣分,扣完為止),程序邏輯12個(gè)得分點(diǎn)(按照程序代碼各處標(biāo)注分?jǐn)?shù)進(jìn)行打分)已知某個(gè)教務(wù)系統(tǒng)的課程信息表如下表所示,請(qǐng)使用順序表結(jié)構(gòu)編程實(shí)現(xiàn)將課程信息(10101、數(shù)據(jù)結(jié)構(gòu))插入到表中第一條的位置。課程號(hào)(ID)課程名(Name)10102軟件工程10103UML具體規(guī)定:編寫(xiě)代碼定義順序表結(jié)構(gòu),完畢該信息表已有數(shù)據(jù)的初始化工作,最后完畢數(shù)據(jù)的插入。classLession{//兩個(gè)得分點(diǎn)publicStringno; //課程編號(hào)publicStringname;?//課程名稱(chēng)?publicLession(Stringno,Stringname){ this.no=no;??this.name=name; }}publicclassLineList{?//LineList為線(xiàn)性表名?intlength=35; //表長(zhǎng)度(1個(gè)得分點(diǎn))Lessiondata[]=newLession[length];//順序表數(shù)組1個(gè)得分點(diǎn)?intcurlen=0;?//實(shí)際表長(zhǎng)(1個(gè)得分點(diǎn)) //插入方法?publicbooleaninsert(inti,Lessionlession){ //插入位置對(duì)的與否判斷(1個(gè)得分點(diǎn))if(i<1||i>this.curlen+1||this.curlen>=this.length){?? returnfalse;}? //從第i個(gè)位置開(kāi)始順序表所有結(jié)點(diǎn)均后移一個(gè)位置(1個(gè)得分點(diǎn))? intn=this.curlen; for(;n>=i;n--) ? data[n]=data[n-1];? //插入新結(jié)點(diǎn)lession(1個(gè)得分點(diǎn)) data[n]=lession;??this.curlen++;(1個(gè)得分點(diǎn))? returntrue;?} publicstaticvoidmain(String[]args){? //初始化數(shù)據(jù)(2個(gè)得分點(diǎn)) LineListlst=newLineList();? Lessionlession1=newLession("10102","軟件工程");? Lessionlession2=newLession("10103","UML"); ?lst.dat(yī)a[0]=lession1; lst.data[1]=lession2;? //進(jìn)行插入操作(1個(gè)得分點(diǎn))??Lessionlession3=newLession("10101","數(shù)據(jù)結(jié)構(gòu)");??lst.insert(1,lession3); }}評(píng)分標(biāo)準(zhǔn):總共15個(gè)得分點(diǎn),其中程序規(guī)范、語(yǔ)法(3個(gè)得分點(diǎn),語(yǔ)法有問(wèn)題但不影響程序邏輯,按0.5得分點(diǎn)每一處扣分,扣完為止),程序邏輯12個(gè)得分點(diǎn)(按照程序代碼各處標(biāo)注分?jǐn)?shù)進(jìn)行打分)已知某個(gè)班級(jí)的學(xué)生信息表如下表所示,請(qǐng)使用順序表結(jié)構(gòu)編程實(shí)現(xiàn)將表中第一條學(xué)生信息刪除。學(xué)號(hào)(ID)姓名(Name)楊三李華具體規(guī)定:編寫(xiě)代碼定義順序表結(jié)構(gòu),完畢該信息表已有數(shù)據(jù)的初始化工作,最后完畢數(shù)據(jù)的刪除。classStudent{//2個(gè)得分點(diǎn)publicStringno;?//學(xué)生學(xué)號(hào)publicStringname;?//學(xué)生姓名 publicStudent(Stringno,Stringname){ ?this.no=no;??this.name=name;?}}publicclassLineList{ //LineList為線(xiàn)性表名 intlength=35;?//表長(zhǎng)度(1個(gè)得分點(diǎn))Studentdata[]=newStudent[length];//順序表數(shù)組1個(gè)得分點(diǎn) intcurlen=0;?//實(shí)際表長(zhǎng)(1個(gè)得分點(diǎn))?//刪除方法 publicStudentdelete(inti){ ?//刪除位置對(duì)的與否判斷(1個(gè)得分點(diǎn))? if(i<1||i>this.curlen){ ??System.out.println("刪除位置有誤!");? ?returnnull;? } //保存刪除前第i個(gè)數(shù)據(jù)元素(這行代碼可有可無(wú),不計(jì)分)? Studentstu=this.data[i-1]; //從第i+1個(gè)位置開(kāi)始依次向前移一個(gè)位置(1個(gè)得分點(diǎn)) ?for(intn=i;n<this.curlen;n++){? ?data[n-1]=data[n]; }??data[this.curlen-1]=null;//(1個(gè)得分點(diǎn))??this.curlen--;//(1個(gè)得分點(diǎn)) returnstu; } publicstaticvoidmain(String[]args){? //初始化數(shù)據(jù)(2個(gè)得分點(diǎn)) ?LineListlst=newLineList();??Studentstu1=newStudent("","楊三"); ?Studentstu2=newStudent("","李華");??lst.dat(yī)a[0]=stu1; lst.data[1]=stu2;??//進(jìn)行刪除操作(1個(gè)得分點(diǎn)) ?lst.delete(1); }}評(píng)分標(biāo)準(zhǔn):總共15個(gè)得分點(diǎn),其中程序規(guī)范、語(yǔ)法(3個(gè)得分點(diǎn),語(yǔ)法有問(wèn)題但不影響程序邏輯,按0.5得分點(diǎn)每一處扣分,扣完為止),程序邏輯12個(gè)得分點(diǎn)(按照程序代碼各處標(biāo)注分?jǐn)?shù)進(jìn)行打分)已知某個(gè)圖書(shū)館的圖書(shū)信息表如下表所示,請(qǐng)使用順序表結(jié)構(gòu)編程實(shí)現(xiàn)將表中第一條圖書(shū)信息刪除。書(shū)號(hào)(ID)書(shū)名(Name)10101鹿鼎記10102鴛鴦刀具體規(guī)定:編寫(xiě)代碼定義順序表結(jié)構(gòu),完畢該信息表已有數(shù)據(jù)的初始化工作,最后完畢數(shù)據(jù)的刪除。classBook{//2個(gè)得分點(diǎn)publicStringno;?//圖書(shū)書(shū)號(hào)publicStringname; //圖書(shū)書(shū)名?publicBook(Stringno,Stringname){??this.no=no;??=name; }}publicclassLineList{ //LineList為線(xiàn)性表名 intlength=35; //表長(zhǎng)度(1個(gè)得分點(diǎn))Bookdata[]=newBook[length];//順序表數(shù)組1個(gè)得分點(diǎn) intcurlen=0; //實(shí)際表長(zhǎng)(1個(gè)得分點(diǎn)) //刪除方法 publicBookdelete(inti){ ?//刪除位置對(duì)的與否判斷(1個(gè)得分點(diǎn))? if(i<1||i>this.curlen){? System.out.println("刪除位置有誤!"); ??returnnull; } ?//保存刪除前第i個(gè)數(shù)據(jù)元素(這行代碼可有可無(wú),不計(jì)分)??Bookbook=this.da

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論