![數(shù)據(jù)結(jié)構(gòu)自測卷(含答案)_第1頁](http://file4.renrendoc.com/view/06d2265ce0c0118319889a013425ffe0/06d2265ce0c0118319889a013425ffe01.gif)
![數(shù)據(jù)結(jié)構(gòu)自測卷(含答案)_第2頁](http://file4.renrendoc.com/view/06d2265ce0c0118319889a013425ffe0/06d2265ce0c0118319889a013425ffe02.gif)
![數(shù)據(jù)結(jié)構(gòu)自測卷(含答案)_第3頁](http://file4.renrendoc.com/view/06d2265ce0c0118319889a013425ffe0/06d2265ce0c0118319889a013425ffe03.gif)
![數(shù)據(jù)結(jié)構(gòu)自測卷(含答案)_第4頁](http://file4.renrendoc.com/view/06d2265ce0c0118319889a013425ffe0/06d2265ce0c0118319889a013425ffe04.gif)
![數(shù)據(jù)結(jié)構(gòu)自測卷(含答案)_第5頁](http://file4.renrendoc.com/view/06d2265ce0c0118319889a013425ffe0/06d2265ce0c0118319889a013425ffe05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE1PAGE53第一章概論自測題答案姓名路金偉班級電科1302一、填空題(每空1分,共33分)1.一個(gè)計(jì)算機(jī)系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng)兩大部分。2.一臺(tái)計(jì)算機(jī)中全部程序的集合,稱為這臺(tái)計(jì)算機(jī)的軟件資源/(系統(tǒng))。3.計(jì)算機(jī)軟件可以分為系統(tǒng)軟件和應(yīng)用軟件兩大類??茖W(xué)計(jì)算程序包屬于應(yīng)用軟件,診斷程序?qū)儆谙到y(tǒng)軟件(工具)。4.一種用助憶符號(hào)來表示機(jī)器指令的操作符和操作數(shù)的語言是匯編語言。5.數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)問題中計(jì)算機(jī)的操作對象以及它們之間的關(guān)系和運(yùn)算等的學(xué)科。6.數(shù)據(jù)結(jié)構(gòu)被形式地定義為(D,R),其中D是數(shù)據(jù)元素的有限集合,R是D上的關(guān)系有限集合。7.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算這三個(gè)方面的內(nèi)容。8.數(shù)據(jù)結(jié)構(gòu)按邏輯結(jié)構(gòu)可分為兩大類,它們分別是線性結(jié)構(gòu)和非線性結(jié)構(gòu)。9.線性結(jié)構(gòu)中元素之間存在一對一關(guān)系,樹形結(jié)構(gòu)中元素之間存在一對多關(guān)系,圖形結(jié)構(gòu)中元素之間存在多對多關(guān)系。10.在線性結(jié)構(gòu)中,第一個(gè)結(jié)點(diǎn)沒有前驅(qū)結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)有且只有1個(gè)前驅(qū)結(jié)點(diǎn);最后一個(gè)結(jié)點(diǎn)沒有后續(xù)結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)有且只有1個(gè)后續(xù)結(jié)點(diǎn)。11.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有前驅(qū)結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)有且只有1個(gè)前驅(qū)結(jié)點(diǎn);葉子結(jié)點(diǎn)沒有后續(xù)結(jié)點(diǎn),其余每個(gè)結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn)數(shù)可以任意多個(gè)。12.在圖形結(jié)構(gòu)中,每個(gè)結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn)數(shù)和后續(xù)結(jié)點(diǎn)數(shù)可以任意多個(gè)。13.?dāng)?shù)據(jù)的存儲(chǔ)結(jié)構(gòu)可用四種基本的存儲(chǔ)方法表示,它們分別是順序、鏈?zhǔn)?、索引和散列?4.數(shù)據(jù)的運(yùn)算最常用的有5種,它們分別是插入、刪除、修改、查找、排序。15.一個(gè)算法的效率可分為時(shí)間效率和空間效率。16.〖00年省統(tǒng)考〗任何一個(gè)C程序都由一個(gè)主函數(shù)和若干個(gè)被調(diào)用的其它函數(shù)組成。17.【00年省統(tǒng)考題】變量一經(jīng)說明,就確定該變量的取值范圍(即存儲(chǔ)單元)及確定變量所允許的運(yùn)算。二、單項(xiàng)選擇題(每小題1分,共15分)(B)1.通常所說的主機(jī)是指∶A)CPU B)CPU和內(nèi)存 C)CPU、內(nèi)存與外存 D)CPU、內(nèi)存與硬盤(C)2.在計(jì)算機(jī)內(nèi)部,一切信息的存取、處理和傳送的形式是∶A)ACSII碼 B)BCD碼 C)二進(jìn)制 D)十六進(jìn)制(D)3.軟件與程序的區(qū)別是∶程序價(jià)格便宜、軟件價(jià)格昂貴; 程序是用戶自己編寫的,而軟件是由廠家提供的;C)程序是用高級語言編寫的,而軟件是由機(jī)器語言編寫的;D)軟件是程序以及開發(fā)、使用和維護(hù)所需要的所有文檔的總稱,而程序只是軟件的一部分。(C)4.所謂“裸機(jī)”是指∶A)單片機(jī) B)單板機(jī) C)不裝備任何軟件的計(jì)算機(jī) D)只裝備操作系統(tǒng)的計(jì)算機(jī)(D)5.應(yīng)用軟件是指∶A)所有能夠使用的軟件 B)能被各應(yīng)用單位共同使用的某種軟件C)所有微機(jī)上都應(yīng)使用的基本軟件 D)專門為某一應(yīng)用目的而編制的軟件(*A)6.〖00年省統(tǒng)考〗C語言中的常量可分為整型常量、實(shí)型常量、字符型常量及(枚舉)四種。符號(hào)常量(B)長整型常量(C)邏輯常量(D)二進(jìn)制整數(shù)(*C)7.編譯程序的功能是∶A)發(fā)現(xiàn)源程序中的語法錯(cuò)誤 B)改正源程序中的語法錯(cuò)誤C)將源程序編譯成目標(biāo)程序 D)將某一高級語言程序翻譯成另一種高級語言程序(A)8.系統(tǒng)軟件中最重要的是∶A)操作系統(tǒng) B)語言處理系統(tǒng) C)工具軟件 D)數(shù)據(jù)庫管理系統(tǒng)(C)9.可移植性最好的計(jì)算機(jī)語言是∶A)機(jī)器語言 B)匯編語言 C)高級語言 D)自然語言(B)10.非線性結(jié)構(gòu)是數(shù)據(jù)元素之間存在一種:A)一對多關(guān)系B)多對多關(guān)系C)多對一關(guān)系D)一對一關(guān)系(C)11.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的結(jié)構(gòu);A)存儲(chǔ)B)物理C)邏輯D)物理和存儲(chǔ)(C)12.算法分析的目的是:A)找出數(shù)據(jù)結(jié)構(gòu)的合理性B)研究算法中的輸入和輸出的關(guān)系C)分析算法的效率以求改進(jìn)D)分析算法的易懂性和文檔性(A)13.算法分析的兩個(gè)主要方面是:A)空間復(fù)雜性和時(shí)間復(fù)雜性B)正確性和簡明性C)可讀性和文檔性D)數(shù)據(jù)復(fù)雜性和程序復(fù)雜性(C)14.計(jì)算機(jī)算法指的是:A)計(jì)算方法B)排序方法C)解決問題的有限運(yùn)算序列D)調(diào)度方法(B)15.計(jì)算機(jī)算法必須具備輸入、輸出和等5個(gè)特性。A)可行性、可移植性和可擴(kuò)充性B)可行性、確定性和有窮性C)確定性、有窮性和穩(wěn)定性D)易讀性、穩(wěn)定性和安全性三、簡答題(每小題3分,共9分)1.我們知道計(jì)算機(jī)只能執(zhí)行機(jī)器指令,為什么它能運(yùn)行用匯編語言和高級語言編寫的程序?答:靠匯編程序?qū)R編語言或高級語言翻譯轉(zhuǎn)換為目標(biāo)程序(即機(jī)器語言)。2.【嚴(yán)題集1.2②】數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型兩個(gè)概念之間有區(qū)別嗎?答:簡單地說,數(shù)據(jù)結(jié)構(gòu)定義了一組按某些關(guān)系結(jié)合在一起的數(shù)組元素。數(shù)據(jù)類型不僅定義了一組帶結(jié)構(gòu)的數(shù)據(jù)元素,而且還在其上定義了一組操作。3.簡述線性結(jié)構(gòu)與非線性結(jié)構(gòu)的不同點(diǎn)。答:線性結(jié)構(gòu)反映結(jié)點(diǎn)間的邏輯關(guān)系是一對一的,非線性結(jié)構(gòu)反映結(jié)點(diǎn)間的邏輯關(guān)系是多對多的。四、〖00年統(tǒng)考題〗閱讀下列C程序段,寫出相應(yīng)的執(zhí)行結(jié)果(每小題4分,共8分)2.longintfact(n)2.longintfact(n)intn;{longf;if(n>1)f=n*fact(n-1);elsef=1;return(f);}main(){intn;longy;n=5;y=fact(n);printf(“%d,%ld\n”,n,y);}答:運(yùn)行結(jié)果為:5,120此題為遞歸運(yùn)算scanf(“%d”,&x);if(x<=30)if(x>20)y=x;elseif(x>10)y=2*x; if(x>0&&x<30)printf(“x=%d,y=%d”,x,y); elseprintf(“輸入數(shù)據(jù)錯(cuò)!”);試寫出當(dāng)x分別為18,8時(shí)的執(zhí)行結(jié)果。答:運(yùn)行結(jié)果為:x=18,y=36x=8,y=運(yùn)行前的值,且從x=30開始為數(shù)據(jù)錯(cuò)
五、【嚴(yán)題集1.8④】分析下面各程序段的時(shí)間復(fù)雜度(每小題5分,共20分)2.2.s=0;fori=0;i<n;i++)for(j=0;j<n;j++)s+=B[i][j];sum=s;答:O(n2)1.1.for(i=0;i<n;i++)for(j=0;j<m;j++)A[i][j]=0;答:O(m*n)3.3.x=0;for(i=1;i<n;i++)for(j=1;j<=n-i;j++)x++;解:因?yàn)閤++共執(zhí)行了n-1+n-2+……+1=n(n-1)/2,所以執(zhí)行時(shí)間為O(n2)4.4.i=1;while(i<=n)i=i*3;答:O(log3n)六、設(shè)有數(shù)據(jù)邏輯結(jié)構(gòu)S=(D,R),試按各小題所給條件畫出這些邏輯結(jié)構(gòu)的圖示,并確定相對于關(guān)系R,哪些結(jié)點(diǎn)是開始結(jié)點(diǎn),哪些結(jié)點(diǎn)是終端結(jié)點(diǎn)?(每小題5分,共15分)1.【嚴(yán)蔚敏習(xí)題集P71.3②】D={d1,d2,d3,d4}R={(d1,d2),(d2,d3),(d3,d4)}答:d1→d2→d3→d4d1—無直接前驅(qū),是首結(jié)點(diǎn)d4—無直接后繼是尾結(jié)點(diǎn)D={d1,d2,…,d9}R={(d1,d2),(d1,d3),(d3,d4),(d3,d6),(d6,d8),(d4,d5),(d6,d7),(d8,d9)}答:此圖為樹形結(jié)構(gòu)d1—無直接前驅(qū),是根結(jié)點(diǎn)d2,d5,d7,d9—無直接后繼是葉子結(jié)點(diǎn)D={d1,d2,…,d9}R={(d1,d3),(d1,d8),(d2,d3),(d2,d4),(d2,d5),(d3,d9),(d5,d6),(d8,d9),(d9,d7),(d4,d7),(d4,d6)}答:此圖為圖形結(jié)構(gòu)d1,d2—無直接前驅(qū),是開始結(jié)點(diǎn)d6,d7—無直接后繼是終端結(jié)點(diǎn)(2)(3)第2章自測卷答案姓名班級一、填空(每空1分,共13分)1.【嚴(yán)題集2.2①】在順序表中插入或刪除一個(gè)元素,需要平均移動(dòng)表中一半元素,具體移動(dòng)的元素個(gè)數(shù)與表長和該元素在表中的位置有關(guān)。2.線性表中結(jié)點(diǎn)的集合是有限的,結(jié)點(diǎn)間的關(guān)系是一對一的。3.向一個(gè)長度為n的向量的第i個(gè)元素(1≤i≤n+1)之前插入一個(gè)元素時(shí),需向后移動(dòng)n-i+1個(gè)元素。4.向一個(gè)長度為n的向量中刪除第i個(gè)元素(1≤i≤n)時(shí),需向前移動(dòng)n-i個(gè)元素。5.在順序表中訪問任意一結(jié)點(diǎn)的時(shí)間復(fù)雜度均為O(1),因此,順序表也稱為隨機(jī)存取的數(shù)據(jù)結(jié)構(gòu)。6.【嚴(yán)題集2.2①】順序表中邏輯上相鄰的元素的物理位置必定相鄰。單鏈表中邏輯上相鄰的元素的物理位置不一定相鄰。7.【嚴(yán)題集2.2①】在單鏈表中,除了首元結(jié)點(diǎn)外,任一結(jié)點(diǎn)的存儲(chǔ)位置由其直接前驅(qū)結(jié)點(diǎn)的鏈域的值指示。8.在n個(gè)結(jié)點(diǎn)的單鏈表中要?jiǎng)h除已知結(jié)點(diǎn)*p,需找到它的前驅(qū)結(jié)點(diǎn)的地址,其時(shí)間復(fù)雜度為O(n)。二、判斷正誤(在正確的說法后面打勾,反之打叉)(每小題1分,共10分)(×)1.鏈表的每個(gè)結(jié)點(diǎn)中都恰好包含一個(gè)指針。答:錯(cuò)誤。鏈表中的結(jié)點(diǎn)可含多個(gè)指針域,分別存放多個(gè)指針。例如,雙向鏈表中的結(jié)點(diǎn)可以含有兩個(gè)指針域,分別存放指向其直接前趨和直接后繼結(jié)點(diǎn)的指針。(×)2.鏈表的物理存儲(chǔ)結(jié)構(gòu)具有同鏈表一樣的順序。錯(cuò),鏈表的存儲(chǔ)結(jié)構(gòu)特點(diǎn)是無序,而鏈表的示意圖有序。(×)3.鏈表的刪除算法很簡單,因?yàn)楫?dāng)刪除鏈中某個(gè)結(jié)點(diǎn)后,計(jì)算機(jī)會(huì)自動(dòng)地將后續(xù)的各個(gè)單元向前移動(dòng)。錯(cuò),鏈表的結(jié)點(diǎn)不會(huì)移動(dòng),只是指針內(nèi)容改變。(×)4.線性表的每個(gè)結(jié)點(diǎn)只能是一個(gè)簡單類型,而鏈表的每個(gè)結(jié)點(diǎn)可以是一個(gè)復(fù)雜類型。錯(cuò),混淆了邏輯結(jié)構(gòu)與物理結(jié)構(gòu),鏈表也是線性表!且即使是順序表,也能存放記錄型數(shù)據(jù)。(×)5.順序表結(jié)構(gòu)適宜于進(jìn)行順序存取,而鏈表適宜于進(jìn)行隨機(jī)存取。錯(cuò),正好說反了。順序表才適合隨機(jī)存取,鏈表恰恰適于“順藤摸瓜”(×)6.順序存儲(chǔ)方式的優(yōu)點(diǎn)是存儲(chǔ)密度大,且插入、刪除運(yùn)算效率高。錯(cuò),前一半正確,但后一半說法錯(cuò)誤,那是鏈?zhǔn)酱鎯?chǔ)的優(yōu)點(diǎn)。順序存儲(chǔ)方式插入、刪除運(yùn)算效率較低,在表長為n的順序表中,插入和刪除一個(gè)數(shù)據(jù)元素,平均需移動(dòng)表長一半個(gè)數(shù)的數(shù)據(jù)元素。(×)7.線性表在物理存儲(chǔ)空間中也一定是連續(xù)的。錯(cuò),線性表有兩種存儲(chǔ)方式,順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)。后者不要求連續(xù)存放。(×)8.線性表在順序存儲(chǔ)時(shí),邏輯上相鄰的元素未必在存儲(chǔ)的物理位置次序上相鄰。錯(cuò)誤。線性表有兩種存儲(chǔ)方式,在順序存儲(chǔ)時(shí),邏輯上相鄰的元素在存儲(chǔ)的物理位置次序上也相鄰。(×)9.順序存儲(chǔ)方式只能用于存儲(chǔ)線性結(jié)構(gòu)。錯(cuò)誤。順序存儲(chǔ)方式不僅能用于存儲(chǔ)線性結(jié)構(gòu),還可以用來存放非線性結(jié)構(gòu),例如完全二叉樹是屬于非線性結(jié)構(gòu),但其最佳存儲(chǔ)方式是順序存儲(chǔ)方式。(后一節(jié)介紹)(×)10.線性表的邏輯順序與存儲(chǔ)順序總是一致的。錯(cuò),理由同7。鏈?zhǔn)酱鎯?chǔ)就無需一致。三、單項(xiàng)選擇題(每小題1分,共10分)(C)1.?dāng)?shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表示時(shí),物理地址與邏輯地址相同并且是連續(xù)的,稱之為:(A)存儲(chǔ)結(jié)構(gòu)(B)邏輯結(jié)構(gòu)(C)順序存儲(chǔ)結(jié)構(gòu)(D)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)(B)2.一個(gè)向量第一個(gè)元素的存儲(chǔ)地址是100,每個(gè)元素的長度為2,則第5個(gè)元素的地址是(A)110(B)108(C)100(D)120(A)3.在n個(gè)結(jié)點(diǎn)的順序表中,算法的時(shí)間復(fù)雜度是O(1)的操作是:訪問第i個(gè)結(jié)點(diǎn)(1≤i≤n)和求第i個(gè)結(jié)點(diǎn)的直接前驅(qū)(2≤i≤n)在第i個(gè)結(jié)點(diǎn)后插入一個(gè)新結(jié)點(diǎn)(1≤i≤n)刪除第i個(gè)結(jié)點(diǎn)(1≤i≤n)將n個(gè)結(jié)點(diǎn)從小到大排序(B)4.向一個(gè)有127個(gè)元素的順序表中插入一個(gè)新元素并保持原來順序不變,平均要移動(dòng)個(gè)元素(A)8(B)63.5(C)63(D)7(A)5.鏈接存儲(chǔ)的存儲(chǔ)結(jié)構(gòu)所占存儲(chǔ)空間:分兩部分,一部分存放結(jié)點(diǎn)值,另一部分存放表示結(jié)點(diǎn)間關(guān)系的指針只有一部分,存放結(jié)點(diǎn)值(C)只有一部分,存儲(chǔ)表示結(jié)點(diǎn)間關(guān)系的指針(D)分兩部分,一部分存放結(jié)點(diǎn)值,另一部分存放結(jié)點(diǎn)所占單元數(shù)(B)6.鏈表是一種采用存儲(chǔ)結(jié)構(gòu)存儲(chǔ)的線性表;(A)順序(B)鏈?zhǔn)剑–)星式(D)網(wǎng)狀(D)7.線性表若采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí),要求內(nèi)存中可用存儲(chǔ)單元的地址:(A)必須是連續(xù)的(B)部分地址必須是連續(xù)的(C)一定是不連續(xù)的(D)連續(xù)或不連續(xù)都可以(B)8.線性表L在情況下適用于使用鏈?zhǔn)浇Y(jié)構(gòu)實(shí)現(xiàn)。(A)需經(jīng)常修改L中的結(jié)點(diǎn)值(B)需不斷對L進(jìn)行刪除插入(C)L中含有大量的結(jié)點(diǎn)(D)L中結(jié)點(diǎn)結(jié)構(gòu)復(fù)雜(C)9.單鏈表的存儲(chǔ)密度(A)大于1;(B)等于1;(C)小于1;(D)不能確定(B)10.設(shè)a1、a2、a3為3個(gè)結(jié)點(diǎn),整數(shù)P0,3,4代表地址,則如下的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)稱為P034P0a13a24A30(A)循環(huán)鏈表(B)單鏈表(C)雙向循環(huán)鏈表(D)雙向鏈表四、簡答題(每小題5分,共10分)1.【嚴(yán)題集2.3②】試比較順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的優(yōu)缺點(diǎn)。在什么情況下用順序表比鏈表好?答:①順序存儲(chǔ)時(shí),相鄰數(shù)據(jù)元素的存放地址也相鄰(邏輯與物理統(tǒng)一);要求內(nèi)存中可用存儲(chǔ)單元的地址必須是連續(xù)的。優(yōu)點(diǎn):存儲(chǔ)密度大(=1?),存儲(chǔ)空間利用率高。缺點(diǎn):插入或刪除元素時(shí)不方便。②鏈?zhǔn)酱鎯?chǔ)時(shí),相鄰數(shù)據(jù)元素可隨意存放,但所占存儲(chǔ)空間分兩部分,一部分存放結(jié)點(diǎn)值,另一部分存放表示結(jié)點(diǎn)間關(guān)系的指針優(yōu)點(diǎn):插入或刪除元素時(shí)很方便,使用靈活。缺點(diǎn):存儲(chǔ)密度?。?lt;1),存儲(chǔ)空間利用率低。順序表適宜于做查找這樣的靜態(tài)操作;鏈表宜于做插入、刪除這樣的動(dòng)態(tài)操作。若線性表的長度變化不大,且其主要操作是查找,則采用順序表;若線性表的長度變化較大,且其主要操作是插入、刪除操作,則采用鏈表。2.【嚴(yán)題集2.1①】描述以下三個(gè)概念的區(qū)別:頭指針、頭結(jié)點(diǎn)、首元結(jié)點(diǎn)(第一個(gè)元素結(jié)點(diǎn))。在單鏈表中設(shè)置頭結(jié)點(diǎn)的作用是什么?答:首元結(jié)點(diǎn)是指鏈表中存儲(chǔ)線性表中第一個(gè)數(shù)據(jù)元素a1的結(jié)點(diǎn)。為了操作方便,通常在鏈表的首元結(jié)點(diǎn)之前附設(shè)一個(gè)結(jié)點(diǎn),稱為頭結(jié)點(diǎn),該結(jié)點(diǎn)的數(shù)據(jù)域中不存儲(chǔ)線性表的數(shù)據(jù)元素,其作用是為了對鏈表進(jìn)行操作時(shí),可以對空表、非空表的情況以及對首元結(jié)點(diǎn)進(jìn)行統(tǒng)一處理。頭指針是指向鏈表中第一個(gè)結(jié)點(diǎn)(或?yàn)轭^結(jié)點(diǎn)或?yàn)槭自Y(jié)點(diǎn))的指針。若鏈表中附設(shè)頭結(jié)點(diǎn),則不管線性表是否為空表,頭指針均不為空。否則表示空表的鏈表的頭指針為空。這三個(gè)概念對單鏈表、雙向鏈表和循環(huán)鏈表均適用。是否設(shè)置頭結(jié)點(diǎn),是不同的存儲(chǔ)結(jié)構(gòu)表示同一邏輯結(jié)構(gòu)的問題。頭結(jié)點(diǎn)headdatalink頭指針首元結(jié)點(diǎn)簡而言之,頭指針是指向鏈表中第一個(gè)結(jié)點(diǎn)(或?yàn)轭^結(jié)點(diǎn)或?yàn)槭自Y(jié)點(diǎn))的指針;頭結(jié)點(diǎn)是在鏈表的首元結(jié)點(diǎn)之前附設(shè)的一個(gè)結(jié)點(diǎn);數(shù)據(jù)域內(nèi)只放空表標(biāo)志和表長等信息(內(nèi)放頭指針?那還得另配一個(gè)頭指針!?。。┦自亟Y(jié)點(diǎn)是指鏈表中存儲(chǔ)線性表中第一個(gè)數(shù)據(jù)元素a1的結(jié)點(diǎn)。五、【軟考題】線性表具有兩種存儲(chǔ)方式,即順序方式和鏈接方式。現(xiàn)有一個(gè)具有五個(gè)元素的線性表L={23,17,47,05,31},若它以鏈接方式存儲(chǔ)在下列100~119號(hào)地址空間中,每個(gè)結(jié)點(diǎn)由數(shù)據(jù)(占2個(gè)字節(jié))和指針(占2個(gè)字節(jié))組成,如下所示:05U17X23V31Y47Z^^100120其中指針X,Y,Z的值分別為多少?該線性表的首結(jié)點(diǎn)起始地址為多少?末結(jié)點(diǎn)的起始地址為多少?(10分)答:X=116Y=0Z=100首址=108末址=112六、閱讀分析題(10分)【嚴(yán)題集2.10②】指出以下算法中的錯(cuò)誤和低效(即費(fèi)時(shí))之處,并將它改寫為一個(gè)既正確又高效的算法。StatusDeleteK(SqList&a,inti,intk){StatusDeleteK(SqList&a,inti,intk){//本過程從順序存儲(chǔ)結(jié)構(gòu)的線性表a中刪除第i個(gè)元素起的k個(gè)元素if(i<1||k<0||i+k>a.length)returnINFEASIBLE;//參數(shù)不合法else{for(count=1;count<k;count++){//刪除一個(gè)元素for(j=a.length;j>=i+1;j--)a.elem[j-1]=a.elem[j];a.length--;}returnOK;}//DeleteK注:上題涉及的類型定義如下:注:上題涉及的類型定義如下:#defineLISTINITSIZE100#defineLISTINCREMENT10typedefstruct{ElemType*elem;//存儲(chǔ)空間基址Intlength;//當(dāng)前長度Intlistsize;//當(dāng)前分配的存儲(chǔ)容量}SqList;答:錯(cuò)誤有兩處:參數(shù)不合法的判別條件不完整。例如表長為10,若從第一位置(i=1)刪除10個(gè)元素(k=10),要求合理但會(huì)被判為非法。合法的入口參數(shù)條件為(0<i≤a.length)^(0≤k≤a.length-i)應(yīng)將if(i<1||k<0||i+k>a.length)returnINFEASIBLE改為:if(!((0<i≤a.length)^(o≤k≤a.length-i)))returnINFEASIBLE第二個(gè)FOR語句中,元素前移的次序錯(cuò)誤。應(yīng)將for(j=a.length;j>=i+1;j--)a.elem[j-1]=a.elem[j];改為for(j>=i+1;j=a.length;j++)a.elem[j-1]=a.elem[j];七、編程題(每題10分,共40分)invsl(n,a)intn;ETa[];{intk;invsl(n,a)intn;ETa[];{intk;ETt;for(k=1;k<=n/2;k++){t=a[k-1];a[k-1]=a[n-k];a[n-k]=t;}return;}解:輸入:長度為n的線性表數(shù)組A(1:n)輸出:逆轉(zhuǎn)后的長度為n的線性表數(shù)組A(1:n)。C語言描述如下(其中ET為數(shù)據(jù)元素的類型):2.【嚴(yán)題集2.6②】已知L是無表頭結(jié)點(diǎn)的單鏈表,且P結(jié)點(diǎn)既不是首元結(jié)點(diǎn),也不是尾元結(jié)點(diǎn),請寫出在P結(jié)點(diǎn)后插入S結(jié)點(diǎn)的核心語句序列。答:此題答案不唯一,但若從已給定序列中挑選,則限制頗多。(7)Q=P;已知P結(jié)點(diǎn),則不必“已知P結(jié)點(diǎn),則不必“順藤摸瓜”,直接鏈接即可。S->next=P->next;(1)P->next=S;(8)while(P->next!=Q)P=P->next;(10)P=Q;(4)S->next=P->next;P->next=S;3.編寫程序,將若干整數(shù)從鍵盤輸入,以單鏈表形式存儲(chǔ)起來,然后計(jì)算單鏈表中結(jié)點(diǎn)的個(gè)數(shù)(其中指針P指向該鏈表的第一個(gè)結(jié)點(diǎn))。注:統(tǒng)計(jì)結(jié)點(diǎn)個(gè)數(shù)是【省統(tǒng)考樣題】的要求,也是教材P604-6計(jì)算鏈表長度的要求,編程又簡單,很容易作為考題。解:編寫C程序如下(已上機(jī)通過):全局變量及函數(shù)提前說明:#include<stdio.h>#include<stdlib.h>typedefstructliuyu{intdata;structliuyu*link;}test;liuyu*p,*q,*r,*head;intm=sizeof(test);voidmain()/*第一步,從鍵盤輸入整數(shù),不斷添加到鏈表*/{inti;head=(test*)malloc(m);/*m=sizeof(test);*/p=head;i=0;while(i!=-9999){printf("/ninputaninteger[stopby'-9999']:");scanf("%d",&i);p->data=i;/*inputdataissaved*/p->link=(test*)malloc(m);/*m=sizeof(test));*/q=p;p=p->link;}q->link=NULL;/*原先用p->link=NULL似乎太晚!*/p=head;i=0;/*統(tǒng)計(jì)鏈表結(jié)點(diǎn)的個(gè)數(shù)并打印出來*/while(p->link!=NULL){printf("%d",p->data);p=p->link;i++;}printf("\nnodenumber=%d\n",i-1);/*結(jié)點(diǎn)的個(gè)數(shù)不包括-9999*/}3.程序中統(tǒng)計(jì)結(jié)點(diǎn)數(shù)應(yīng)是i個(gè),而不是i-1.假設(shè)鏈表表長為n,i從0開始,則在統(tǒng)計(jì)某一結(jié)點(diǎn)后i加一,此時(shí)p已指向下一個(gè)結(jié)點(diǎn),第一結(jié)點(diǎn)統(tǒng)計(jì)結(jié)束,i為1,p指向第二結(jié)點(diǎn)即當(dāng)p指向尾結(jié)點(diǎn)(第n個(gè)結(jié)點(diǎn))時(shí)i的值為n-1,while循環(huán)條件不符(指針域?yàn)閚ull),退出循環(huán),即得統(tǒng)計(jì)的結(jié)點(diǎn)數(shù),為n-1.所以i的值就是結(jié)點(diǎn)數(shù),不必再減一4.請編寫26個(gè)字母按特定字母值插入或刪除的完整程序,可自行選用順序存儲(chǔ)或鏈表結(jié)構(gòu)。答:#include<stdio.h>/*全局變量及函數(shù)提前說明:*/#include<stdlib.h>typedefstructliuyu{chardata;structliuyu*link;}test;liuyu*p,*q,*r,*head;intL;/*元素的個(gè)數(shù)*/intm=sizeof(test);voidbuild();/*主函數(shù)中會(huì)被調(diào)用的函數(shù)應(yīng)當(dāng)預(yù)先說明*/voiddisplay();intinsert_char(char,char);/*插入一個(gè)字母,在第字母Y之前,若無字母則加到末尾*/intdelet_char(char);/*刪除元素X,注意保存X的前趨元素指針!*//**/voidbuild()/*字母鏈表的生成*/{inti;head=(test*)malloc(m);/*m=sizeof(test);*/p=head;for(i=1;i<L;i++){p->data=i+'a'-1;/*'a'也可用其ASCII碼97來表示*/p->link=(test*)malloc(m);/*m=sizeof(test));*/p=p->link;}p->data=i+'a'-1;p->link=NULL;}/**/voiddisplay()/*字母鏈表的輸出*/{p=head;while(p->link!=NULL){printf("%c",p->data);p=p->link;}printf("%c\n",p->data);}/**/intinsert_char(charX,charY)/*插入一個(gè)字母X在某個(gè)字母Y之前,若找不到Y(jié)字母則加到末尾*/{p=head;r=(test*)malloc(m);r->data=X;if(head->data==Y){head=r;r->link=p;}else{while((p->data!=Y)&&(p->link!=NULL)){q=p;p=p->link;}if(p->data==Y){q->link=r;r->link=p;}else{p->link=r;r->link=NULL;}}L++;return(0);}/**/intdelet_char(charX)/*刪除元素X,注意保存X的前趨元素指針!*/{p=head;if(head->data==X){head=head->link;free(p);}else{while((p->data!=X)&&(p->link!=NULL)) {q=p; p=p->link;}if(p->data==X){q->link=p->link;free(p);}elsereturn(-1);}L--;return(0);}/**/voidmain(void)/*字母線性表的生成和輸出*/{L=26;build();display();printf("insertreturnvalue=%d\n",insert_char('L','W'));display();printf("deletereturnvalue=%d\n",delet_char('z'));display();}附:屏幕上顯示的執(zhí)行結(jié)果是:abcdefghijklmnopqrstuvwxyzinsertreturnvalue=0abcd9efghijklmnopqrstuvwxyzLdeletereturnvalue=0abcdefghijklmnopqrstuvwxyL0301陳建武修改意見:display()函數(shù)代碼可優(yōu)化為四行voiddisplay()/*字母鏈表的輸出*/{p=head;while(p->link!=NULL)//改為while(p),因?yàn)楫?dāng)p指向尾結(jié)點(diǎn)時(shí),p不為null,條件成立循環(huán),//printf(),然后p被賦值為null,此時(shí)循環(huán)條件不符退出,正好.{printf("%c",p->data);p=p->link;}printf("%c\n",p->data);//用while(p),此行可刪}二.對intinsert_char(charX,charY),若用帶頭結(jié)點(diǎn)的鏈表,代碼可減為10行我的程序如下(若參數(shù)沒有slistp,代碼要多一行,讓q指向頭指針)voidInsertFind(slistp,charinsertchar,charinsertpos)//字母insertpos前插入字母insertchar{slistpprior,newnode; //newnode新結(jié)點(diǎn),pprior為插入位置結(jié)點(diǎn)的直接前驅(qū)newnode=newliuyu; //為新結(jié)點(diǎn)分配內(nèi)存newnode->data=insertchar; //對結(jié)點(diǎn)數(shù)據(jù)域初始化while(p) //當(dāng)p指向尾結(jié)點(diǎn)時(shí)最后一次循環(huán){pprior=p; //pprior從頭指針開始,指向p的直接前驅(qū)p=p->next;//p從首元結(jié)點(diǎn)開始,不斷前移,直至最后,p為nullif(p&&(p->data==insertpos))//當(dāng)p為null或者結(jié)點(diǎn)p的數(shù)據(jù)域?yàn)樗迦氲淖帜? break; //則退出循環(huán)}newnode->next=pprior->next;//在找到的位置前插入pprior->next=newnode; }對刪除結(jié)點(diǎn)的操作,若有頭結(jié)點(diǎn),同樣可以減少代碼,由此可見創(chuàng)建一個(gè)頭結(jié)點(diǎn)對簡化程序有很大的幫助.上面的觀點(diǎn),僅供參考,不對之處,請指教!第3章棧和隊(duì)列自測卷答案姓名班級一、填空題(每空1分,共15分)1.【李春葆】向量、棧和隊(duì)列都是線性結(jié)構(gòu),可以在向量的任何位置插入和刪除元素;對于棧只能在棧頂插入和刪除元素;對于隊(duì)列只能在隊(duì)尾插入和隊(duì)首刪除元素。2.棧是一種特殊的線性表,允許插入和刪除運(yùn)算的一端稱為棧頂。不允許插入和刪除運(yùn)算的一端稱為棧底。3.隊(duì)列是被限定為只能在表的一端進(jìn)行插入運(yùn)算,在表的另一端進(jìn)行刪除運(yùn)算的線性表。4.在一個(gè)循環(huán)隊(duì)列中,隊(duì)首指針指向隊(duì)首元素的前一個(gè)位置。5.在具有n個(gè)單元的循環(huán)隊(duì)列中,隊(duì)滿時(shí)共有n-1個(gè)元素。6.向棧中壓入元素的操作是先移動(dòng)棧頂指針,后存入元素。7.從循環(huán)隊(duì)列中刪除一個(gè)元素時(shí),其操作是先移動(dòng)隊(duì)首指針,后取出元素。8.〖00年統(tǒng)考題〗帶表頭結(jié)點(diǎn)的空循環(huán)雙向鏈表的長度等于0。L=head頭結(jié)點(diǎn)RL=head頭結(jié)點(diǎn)R=headhead二、判斷正誤(判斷下列概念的正確性,并作出簡要的說明。)(每小題1分,共10分)(×)1.線性表的每個(gè)結(jié)點(diǎn)只能是一個(gè)簡單類型,而鏈表的每個(gè)結(jié)點(diǎn)可以是一個(gè)復(fù)雜類型。錯(cuò),線性表是邏輯結(jié)構(gòu)概念,可以順序存儲(chǔ)或鏈?zhǔn)酱鎯?chǔ),與元素?cái)?shù)據(jù)類型無關(guān)。(×)2.在表結(jié)構(gòu)中最常用的是線性表,棧和隊(duì)列不太常用。錯(cuò),不一定吧?調(diào)用子程序或函數(shù)常用,CPU中也用隊(duì)列。(√)3.棧是一種對所有插入、刪除操作限于在表的一端進(jìn)行的線性表,是一種后進(jìn)先出型結(jié)構(gòu)。(√)4.對于不同的使用者,一個(gè)表結(jié)構(gòu)既可以是棧,也可以是隊(duì)列,也可以是線性表。正確,都是線性邏輯結(jié)構(gòu),棧和隊(duì)列其實(shí)是特殊的線性表,對運(yùn)算的定義略有不同而已。(×)5.棧和鏈表是兩種不同的數(shù)據(jù)結(jié)構(gòu)。錯(cuò),棧是邏輯結(jié)構(gòu)的概念,是特殊殊線性表,而鏈表是存儲(chǔ)結(jié)構(gòu)概念,二者不是同類項(xiàng)。(×)6.棧和隊(duì)列是一種非線性數(shù)據(jù)結(jié)構(gòu)。錯(cuò),他們都是線性邏輯結(jié)構(gòu),棧和隊(duì)列其實(shí)是特殊的線性表,對運(yùn)算的定義略有不同而已。(√)7.棧和隊(duì)列的存儲(chǔ)方式既可是順序方式,也可是鏈接方式。(√)8.兩個(gè)棧共享一片連續(xù)內(nèi)存空間時(shí),為提高內(nèi)存利用率,減少溢出機(jī)會(huì),應(yīng)把兩個(gè)棧的棧底分別設(shè)在這片內(nèi)存空間的兩端。(×)9.隊(duì)是一種插入與刪除操作分別在表的兩端進(jìn)行的線性表,是一種先進(jìn)后出型結(jié)構(gòu)。 錯(cuò),后半句不對。(×)10.一個(gè)棧的輸入序列是12345,則棧的輸出序列不可能是12345。錯(cuò),有可能。三、單項(xiàng)選擇題(每小題1分,共20分)(B)1.〖00年元月統(tǒng)考題〗棧中元素的進(jìn)出原則是A.先進(jìn)先出B.后進(jìn)先出C.??談t進(jìn)D.棧滿則出(C)2.〖李春葆〗若已知一個(gè)棧的入棧序列是1,2,3,…,n,其輸出序列為p1,p2,p3,…,pn,若p1=n,則pi為A.iB.n=iC.n-i+1D.不確定解釋:當(dāng)p1=n,即n是最先出棧的,根據(jù)棧的原理,n必定是最后入棧的,那么輸入順序必定是1,2,3,…,n,則出棧的序列是n,…,3,2,1。(B)3.〖李春葆〗判定一個(gè)棧ST(最多元素為m0)為空的條件是A.ST->top<>0B.ST->top=0C.ST->top<>m0D.ST->top=m0(B)4.〖李春葆〗判定一個(gè)隊(duì)列QU(最多元素為m0)為滿隊(duì)列的條件是A.QU->rear-QU->front==m0B.QU->rear-QU->front-1==m0C.QU->front==QU->rearD.QU->front==QU->rear+1(D)5.?dāng)?shù)組Q[n]用來表示一個(gè)循環(huán)隊(duì)列,f為當(dāng)前隊(duì)列頭元素的前一位置,r?yàn)殛?duì)尾元素的位置,假定隊(duì)列中元素的個(gè)數(shù)小于n,計(jì)算隊(duì)列中元素的公式為(A)r-f;(B)(n+f-r)%n;(C)n+r-f;(D)(n+r-f)%n6.【98初程P71】從供選擇的答案中,選出應(yīng)填入下面敘述?內(nèi)的最確切的解答,把相應(yīng)編號(hào)寫在答卷的對應(yīng)欄內(nèi)。設(shè)有4個(gè)數(shù)據(jù)元素a1、a2、a3和a4,對他們分別進(jìn)行棧操作或隊(duì)操作。在進(jìn)?;蜻M(jìn)隊(duì)操作時(shí),按a1、a2、a3、a4次序每次進(jìn)入一個(gè)元素。假設(shè)?;蜿?duì)的初始狀態(tài)都是空?,F(xiàn)要進(jìn)行的棧操作是進(jìn)棧兩次,出棧一次,再進(jìn)棧兩次,出棧一次;這時(shí),第一次出棧得到的元素是A,第二次出棧得到的元素是B是;類似地,考慮對這四個(gè)數(shù)據(jù)元素進(jìn)行的隊(duì)操作是進(jìn)隊(duì)兩次,出隊(duì)一次,再進(jìn)隊(duì)兩次,出隊(duì)一次;這時(shí),第一次出隊(duì)得到的元素是C,第二次出隊(duì)得到的元素是D。經(jīng)操作后,最后在棧中或隊(duì)中的元素還有E個(gè)。供選擇的答案:A~D:①a1②a2③a3④a4E:①1②2③3④0答:ABCDE=2,4,1,2,27.【94初程P75】從供選擇的答案中,選出應(yīng)填入下面敘述?內(nèi)的最確切的解答,把相應(yīng)編號(hào)寫在答卷的對應(yīng)欄內(nèi)。棧是一種線性表,它的特點(diǎn)是A。設(shè)用一維數(shù)組A[1,…,n]來表示一個(gè)棧,A[n]為棧底,用整型變量T指示當(dāng)前棧頂位置,A[T]為棧頂元素。往棧中推入(PUSH)一個(gè)新元素時(shí),變量T的值B;從棧中彈出(POP)一個(gè)元素時(shí),變量T的值C。設(shè)??諘r(shí),有輸入序列a,b,c,經(jīng)過PUSH,POP,PUSH,PUSH,POP操作后,從棧中彈出的元素的序列是D,變量T的值是E。供選擇的答案:A:①先進(jìn)先出②后進(jìn)先出 ③進(jìn)優(yōu)于出 ④出優(yōu)于進(jìn) ⑤隨機(jī)進(jìn)出B,C: ①加1②減1③不變 ④清0⑤加2⑥減2D:①a,b②b,c ③c,a ④b,a⑤c,b⑥a,cE:①n+1②n+2③n ④n-1⑤n-2答案:ABCDE=2,2,1,6,4注意,向地址的高端生長,稱為向上生成堆棧;向地址低端生長叫向下生成堆棧,本題中底部為n,向地址的低端遞減生成,稱為向下生成堆棧。8.【91初程P77】從供選擇的答案中,選出應(yīng)填入下面敘述?內(nèi)的最確切的解答,把相應(yīng)編號(hào)寫在答卷的對應(yīng)欄內(nèi)。在做進(jìn)棧運(yùn)算時(shí),應(yīng)先判別棧是否A;在做退棧運(yùn)算時(shí),應(yīng)先判別棧是否B。當(dāng)棧中元素為n個(gè),做進(jìn)棧運(yùn)算時(shí)發(fā)生上溢,則說明該棧的最大容量為C。為了增加內(nèi)存空間的利用率和減少溢出的可能性,由兩個(gè)棧共享一片連續(xù)的內(nèi)存空間時(shí),應(yīng)將兩棧的D分別設(shè)在這片內(nèi)存空間的兩端,這樣,只有當(dāng)E時(shí),才產(chǎn)生上溢。供選擇的答案:A,B:①空②滿③上溢④下溢C: ①n-1②n③n+1④n/2D:①長度②深度③棧頂④棧底E:①兩個(gè)棧的棧頂同時(shí)到達(dá)??臻g的中心點(diǎn)②其中一個(gè)棧的棧頂?shù)竭_(dá)棧空間的中心點(diǎn)③兩個(gè)棧的棧頂在達(dá)棧空間的某一位置相遇④兩個(gè)棧均不空,且一個(gè)棧的棧頂?shù)竭_(dá)另一個(gè)棧的棧底答案:ABCDE=2,1,2,4,3四、簡答題(每小題4分,共20分)1.【嚴(yán)題集3.2①和3.11①】說明線性表、棧與隊(duì)的異同點(diǎn)。劉答:相同點(diǎn):都是線性結(jié)構(gòu),都是邏輯結(jié)構(gòu)的概念。都可以用順序存儲(chǔ)或鏈表存儲(chǔ);棧和隊(duì)列是兩種特殊的線性表,即受限的線性表,只是對插入、刪除運(yùn)算加以限制。不同點(diǎn):①運(yùn)算規(guī)則不同,線性表為隨機(jī)存取,而棧是只允許在一端進(jìn)行插入、刪除運(yùn)算,因而是后進(jìn)先出表LIFO;隊(duì)列是只允許在一端進(jìn)行插入、另一端進(jìn)行刪除運(yùn)算,因而是先進(jìn)先出表FIFO。②用途不同,堆棧用于子程調(diào)用和保護(hù)現(xiàn)場,隊(duì)列用于多道作業(yè)處理、指令寄存及其他運(yùn)算等等。2.【統(tǒng)考書P604-11,難于嚴(yán)題集3.1①】設(shè)有編號(hào)為1,2,3,4的四輛列車,順序進(jìn)入一個(gè)棧式結(jié)構(gòu)的車站,具體寫出這四輛列車開出車站的所有可能的順序。劉答:至少有14種。①全進(jìn)之后再出情況,只有1種:4,3,2,1②進(jìn)3個(gè)之后再出的情況,有3種,3,4,2,13,2,4,13,2,1,4③進(jìn)2個(gè)之后再出的情況,有5種,2,4,3,12,3,4,12,1,3,42,1,4,32,1,3,4④進(jìn)1個(gè)之后再出的情況,有5種,1,4,3,21,3,2,41,3,4,21,2,3,41,2,4,33.【劉自編】假設(shè)正讀和反讀都相同的字符序列為“回文”,例如,‘a(chǎn)bba’和‘a(chǎn)bcba’是回文,‘a(chǎn)bcde’和‘a(chǎn)babab’則不是回文。假設(shè)一字符序列已存入計(jì)算機(jī),請分析用線性表、堆棧和隊(duì)列等方式正確輸出其回文的可能性?答:線性表是隨機(jī)存儲(chǔ),可以實(shí)現(xiàn),靠循環(huán)變量(j--)從表尾開始打印輸出;堆棧是后進(jìn)先出,也可以實(shí)現(xiàn),靠正序入棧、逆序出棧即可;隊(duì)列是先進(jìn)先出,不易實(shí)現(xiàn)。哪種方式最好,要具體情況具體分析。若正文在機(jī)內(nèi)已是順序存儲(chǔ),則直接用線性表從后往前讀取即可,或?qū)⒍褩m旈_到數(shù)組末尾,然后直接用POP動(dòng)作實(shí)現(xiàn)。(但堆棧是先減后壓還是……)若正文是單鏈表形式存儲(chǔ),則等同于隊(duì)列,需開輔助空間,可以從鏈?zhǔn)组_始入棧,全部壓入后再依次輸出。4.【統(tǒng)考書P604-13】順序隊(duì)的“假溢出”是怎樣產(chǎn)生的?如何知道循環(huán)隊(duì)列是空還是滿?答:一般的一維數(shù)組隊(duì)列的尾指針已經(jīng)到了數(shù)組的上界,不能再有入隊(duì)操作,但其實(shí)數(shù)組中還有空位置,這就叫“假溢出”。采用循環(huán)隊(duì)列是解決假溢出的途徑。另外,解決隊(duì)滿隊(duì)空的辦法有三:設(shè)置一個(gè)布爾變量以區(qū)別隊(duì)滿還是隊(duì)空;浪費(fèi)一個(gè)元素的空間,用于區(qū)別隊(duì)滿還是隊(duì)空。使用一個(gè)計(jì)數(shù)器記錄隊(duì)列中元素個(gè)數(shù)(即隊(duì)列長度)。我們常采用法②,即隊(duì)頭指針、隊(duì)尾指針中有一個(gè)指向?qū)嵲?,而另一個(gè)指向空閑元素。判斷循環(huán)隊(duì)列隊(duì)空標(biāo)志是:f=rear隊(duì)滿標(biāo)志是:f=(r+1)%N5.【統(tǒng)考書P604-14】設(shè)循環(huán)隊(duì)列的容量為40(序號(hào)從0到39),現(xiàn)經(jīng)過一系列的入隊(duì)和出隊(duì)運(yùn)算后,有①front=11,rear=19;②front=19,rear=11;問在這兩種情況下,循環(huán)隊(duì)列中各有元素多少個(gè)?答:用隊(duì)列長度計(jì)算公式:(N+r-f)%N①L=(40+19-11)%40=8②L=(40+11-19)%40=32五、閱讀理解(每小題5分,共20分。至少要寫出思路)【嚴(yán)題集3.7①】按照四則運(yùn)算加、減、乘、除和冪運(yùn)算(↑)優(yōu)先關(guān)系的慣例,并仿照教材例3-2的格式,畫出對下列算術(shù)表達(dá)式求值時(shí)操作數(shù)棧和運(yùn)算符棧的變化過程:A-B×C/D+E↑F答:【嚴(yán)題集3.3②】寫出下列程序段的輸出結(jié)果(棧的元素類型SElemType為char)。voidmain(){StackS;Charx,y;InitStack(S);X=’c’;y=’k’;Push(S,x);Push(S,’a’);Push(S,y);Pop(S,x);Push(S,’t’);Push(S,x);Pop(S,x);Push(S,’s’);while(!StackEmpty(S)){Pop(S,y);printf(y);};Printf(x);}答:輸出為“stack”?!緡?yán)題集3.12②】寫出下列程序段的輸出結(jié)果(隊(duì)列中的元素類型QElemType為char)。voidmain(){QueueQ;InitQueue(Q);Charx=’e’;y=’c’;EnQueue(Q,’h’);EnQueue(Q,’r’);EnQueue(Q,’y’);DeQueue(Q,x);EnQueue(Q,x);DeQueue(Q,x);EnQueue(Q,’a’);while(!QueueEmpty(Q)){DeQueue(Q,y);printf(y);};Printf(x);}答:輸出為“char”。【嚴(yán)題集3.13②】簡述以下算法的功能(棧和隊(duì)列的元素類型均為int)。voidalgo3(Queue&Q){StackS;intd;InitStack(S);while(!QueueEmpty(Q)){DeQueue(Q,d);Push(S,d);};while(!StackEmpty(S)){Pop(S,d);EnQueue(Q,d);}}答:該算法的功能是:利用堆棧做輔助,將隊(duì)列中的數(shù)據(jù)元素進(jìn)行逆置。六、算法設(shè)計(jì)(每小題5分,共15分。至少要寫出思路)【李春葆及嚴(yán)題集3.19④】假設(shè)一個(gè)算術(shù)表達(dá)式中包含圓括弧、方括弧和花括弧三種類型的括弧,編寫一個(gè)判別表達(dá)式中括弧是否正確配對的函數(shù)correct(exp,tag);其中:exp為字符串類型的變量(可理解為每個(gè)字符占用一個(gè)數(shù)組元素),表示被判別的表達(dá)式,tag為布爾型變量。答:用堆棧st進(jìn)行判定,將(、[或{入棧,當(dāng)遇到}、]或)時(shí),檢查當(dāng)前棧頂元素是否是對應(yīng)的(、[或{,若是則退棧,否則返回表示不配對。當(dāng)整個(gè)算術(shù)表達(dá)式檢查完畢時(shí),若棧為空表示括號(hào)正確配對,否則不配對。編程后的整個(gè)函數(shù)如下(李書P31—32)#definem0100/*m0為算術(shù)表達(dá)式中最多字符個(gè)數(shù)*/correct(exp,tag)charexp[m0];inttag;{charst[m0];inttop=0,i=1;tag=1;while(i<=m0&&tag){if(exp[i]==‘(‘||exp[i]==’[‘||exp[i]==’{‘)/*遇到‘(‘、’[‘或’{‘,則將其入棧*/{top++;st[top]=exp[i];}if(exp[i]==’)’)/*遇到’)’,若棧頂是‘(‘,則繼續(xù)處理,否則以不配對返回*/if(st[top]==‘(‘)top--;elsetag=0;if(exp[i]==’)’)/*遇到’]’,若棧頂是‘[‘,則繼續(xù)處理,否則以不配對返回*/if(st[top]==‘[‘]top--;elsetag=0;if(exp[i]==’)’)/*遇到’}’,若棧頂是‘{‘,則繼續(xù)處理,否則以不配對返回*/if(st[top]==‘{‘top--;elsetag=0;i++;}if(top>0)tag=0;/*若棧不空,則不配對*/}嚴(yán)題集對應(yīng)答案:3.19StatusAllBrackets_Test(char*str)//判別表達(dá)式中三種括號(hào)是否匹配{InitStack(s);for(p=str;*p;p++){if(*p=='('||*p=='['||*p=='{')push(s,*p);elseif(*p==')'||*p==']'||*p=='}'){if(StackEmpty(s))returnERROR;pop(s,c);if(*p==')'&&c!='(')returnERROR;if(*p==']'&&c!='[')returnERROR;if(*p=='}'&&c!='{')returnERROR;//必須與當(dāng)前棧頂括號(hào)匹配}}//forif(!StackEmpty(s))returnERROR;returnOK;}//AllBrackets_Test2.【統(tǒng)考書P604-15】假設(shè)一個(gè)數(shù)組squ[m]存放循環(huán)隊(duì)列的元素。若要使這m個(gè)分量都得到利用,則需另一個(gè)標(biāo)志tag,以tag為0或1來區(qū)分尾指針和頭指針值相同時(shí)隊(duì)列的狀態(tài)是“空”還是“滿”。試編寫相應(yīng)的入隊(duì)和出隊(duì)的算法。解:這就是解決隊(duì)滿隊(duì)空的三種辦法之①設(shè)置一個(gè)布爾變量以區(qū)別隊(duì)滿還是隊(duì)空(其他兩種見簡答題);思路:一開始隊(duì)空,設(shè)tag=0,若從rear一端加到與front指針相同時(shí),表示入隊(duì)已滿,則令tag=1;若從front一端加到與rear指針相同時(shí),則令tag=0,表示出隊(duì)已空。3.【嚴(yán)題集3.31③】試寫一個(gè)算法判別讀入的一個(gè)以‘@’為結(jié)束符的字符序列是否是“回文”。答:編程如下:intPalindrome_Test()//判別輸入的字符串是否回文序列,是則返回1,否則返回0
{
InitStack(S);InitQueue(Q);
while((c=getchar())!='@')
{
Push(S,c);EnQueue(Q,c);//同時(shí)使用棧和隊(duì)列兩種結(jié)構(gòu)
}
while(!StackEmpty(S))
{
Pop(S,a);DeQueue(Q,b));
if(a!=b)returnERROR;
}
returnOK;
}//Palindrome_Test第4~5章串和數(shù)組自測卷答案姓名班級一、填空題(每空1分,共20分)1.不包含任何字符(長度為0)的串稱為空串;由一個(gè)或多個(gè)空格(僅由空格符)組成的串稱為空白串。(對應(yīng)嚴(yán)題集4.1①,簡答題:簡述空串和空格串的區(qū)別)2.設(shè)S=“A;/document/Mary.doc”,則strlen(s)=20,“/”的字符定位的位置為3。4.子串的定位運(yùn)算稱為串的模式匹配;被匹配的主串稱為目標(biāo)串,子串稱為模式。5.設(shè)目標(biāo)T=”abccdcdccbaa”,模式P=“cdcc”,則第6次匹配成功。6.若n為主串長,m為子串長,則串的古典(樸素)匹配算法最壞的情況下需要比較字符的總次數(shù)為(n-m+1)*m。7.假設(shè)有二維數(shù)組A6×8,每個(gè)元素用相鄰的6個(gè)字節(jié)存儲(chǔ),存儲(chǔ)器按字節(jié)編址。已知A的起始存儲(chǔ)位置(基地址)為1000,則數(shù)組A的體積(存儲(chǔ)量)為288B;末尾元素A57的第一個(gè)字節(jié)地址為1282;若按行存儲(chǔ)時(shí),元素A14的第一個(gè)字節(jié)地址為(8+4)×6+1000=1192;若按列存儲(chǔ)時(shí),元素A47的第一個(gè)字節(jié)地址為(6×7+4)×6+1000)=1276。8.〖00年計(jì)算機(jī)系考研題〗設(shè)數(shù)組a[1…60,1…70]的基地址為2048,每個(gè)元素占2個(gè)存儲(chǔ)單元,若以列序?yàn)橹餍蝽樞虼鎯?chǔ),則元素a[32,58]的存儲(chǔ)地址為9188。答:考慮0行0列,(58列×61行+32行)×2字節(jié)+基址2048=9188??9.三元素組表中的每個(gè)結(jié)點(diǎn)對應(yīng)于稀疏矩陣的一個(gè)非零元素,它包含有三個(gè)數(shù)據(jù)項(xiàng),分別表示該元素的行下標(biāo)、列下標(biāo)和元素值。10.求下列廣義表操作的結(jié)果:(1)GetHead【((a,b),(c,d))】===(a,b);//頭元素不必加括號(hào)(2)GetHead【GetTail【((a,b),(c,d))】】===(c,d);(3)GetHead【GetTail【GetHead【((a,b),(c,d))】】】===b;(4)GetTail【GetHead【GetTail【((a,b),(c,d))】】】===(d);二、單選題(每小題1分,共15分)(B)1.〖李〗串是一種特殊的線性表,其特殊性體現(xiàn)在:A.可以順序存儲(chǔ)B.?dāng)?shù)據(jù)元素是一個(gè)字符C.可以鏈?zhǔn)酱鎯?chǔ)D.?dāng)?shù)據(jù)元素可以是多個(gè)字符(B)2.〖李〗設(shè)有兩個(gè)串p和q,求q在p中首次出現(xiàn)的位置的運(yùn)算稱作:A.連接B.模式匹配C.求子串D.求串長(D)3.〖李〗設(shè)串s1=’ABCDEFG’,s2=’PQRST’,函數(shù)con(x,y)返回x和y串的連接串,subs(s,i,j)返回串s的從序號(hào)i開始的j個(gè)字符組成的子串,len(s)返回串s的長度,則con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的結(jié)果串是:A.BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF解:con(x,y)返回x和y串的連接串,即con(x,y)=‘ABCDEFGPQRST’;subs(s,i,j)返回串s的從序號(hào)i開始的j個(gè)字符組成的子串,則subs(s1,2,len(s2))=subs(s1,2,5)=’BCDEF’;subs(s1,len(s2),2)=subs(s1,5,2)=’EF’;所以con(subs(s1,2,len(s2)),subs(s1,len(s2),2))=con(’BCDEF’,’EF’)之連接,即BCDEFEF(A)4.〖01年計(jì)算機(jī)系考研題〗假設(shè)有60行70列的二維數(shù)組a[1…60,1…70]以列序?yàn)橹餍蝽樞虼鎯?chǔ),其基地址為10000,每個(gè)元素占2個(gè)存儲(chǔ)單元,那么第32行第58列的元素a[32,58]的存儲(chǔ)地址為。(無第0行第0列元素)A.16902B.16904C.14454D.答案A,B,C均不對答:(57列×60行+31行)×2字節(jié)+10000=16902(A)(B)5.設(shè)矩陣A是一個(gè)對稱矩陣,為了節(jié)省存儲(chǔ),將其下三角部分(如下圖所示)按行序存放在一維數(shù)組B[1,n(n-1)/2]中,對下三角部分中任一元素ai,j(i≤j),在一維數(shù)組B中下標(biāo)k的值是:A.i(i-1)/2+j-1B.i(i-1)/2+jC.i(i+1)/2+j-1D.i(i+1)/2+j解:注意B的下標(biāo)要求從1開始。先用第一個(gè)元素去套用,可能有B和C;解:注意B的下標(biāo)要求從1開始。先用第一個(gè)元素去套用,可能有B和C;再用第二個(gè)元素去套用B和C,B=2而C=3(不符);所以選B6.【91初程P78】從供選擇的答案中,選出應(yīng)填入下面敘述?內(nèi)的最確切的解答,把相應(yīng)編號(hào)寫在答卷的對應(yīng)欄內(nèi)。有一個(gè)二維數(shù)組A,行下標(biāo)的范圍是0到8,列下標(biāo)的范圍是1到5,每個(gè)數(shù)組元素用相鄰的4個(gè)字節(jié)存儲(chǔ)。存儲(chǔ)器按字節(jié)編址。假設(shè)存儲(chǔ)數(shù)組元素A[0,1]的第一個(gè)字節(jié)的地址是0。存儲(chǔ)數(shù)組A的最后一個(gè)元素的第一個(gè)字節(jié)的地址是A。若按行存儲(chǔ),則A[3,5]和A[5,3]的第一個(gè)字節(jié)的地址分別是B和C。若按列存儲(chǔ),則A[7,1]和A[2,4]的第一個(gè)字節(jié)的地址分別是D和E。供選擇的答案A~E:①28②44③76④92⑤108⑥116⑦132⑧176⑨184⑩188答案:ABCDE=8,3,5,1,67.【94程P12】從供選擇的答案中,選出應(yīng)填入下面敘述?內(nèi)的最確切的解答,把相應(yīng)編號(hào)寫在答卷的對應(yīng)欄內(nèi)。有一個(gè)二維數(shù)組A,行下標(biāo)的范圍是1到6,列下標(biāo)的范圍是0到7,每個(gè)數(shù)組元素用相鄰的6個(gè)字節(jié)存儲(chǔ),存儲(chǔ)器按字節(jié)編址。那么,這個(gè)數(shù)組的體積是A個(gè)字節(jié)。假設(shè)存儲(chǔ)數(shù)組元素A[1,0]的第一個(gè)字節(jié)的地址是0,則存儲(chǔ)數(shù)組A的最后一個(gè)元素的第一個(gè)字節(jié)的地址是B。若按行存儲(chǔ),則A[2,4]的第一個(gè)字節(jié)的地址是C。若按列存儲(chǔ),則A[5,7]的第一個(gè)字節(jié)的地址是D。供選擇的答案A~D:①12②66③72④96⑤114⑥120⑦156⑧234⑨276⑩282(11)283(12)288答案:ABCD=12,10,3,9三、簡答題(每小題5分,共15分)1.KMP算法的設(shè)計(jì)思想是什么?它有什么優(yōu)點(diǎn)?2.(軟件技術(shù)?)已知二維數(shù)組Am,m采用按行優(yōu)先順序存放,每個(gè)元素占K個(gè)存儲(chǔ)單元,并且第一個(gè)元素的存儲(chǔ)地址為Loc(a11),請寫出求Loc(aij)的計(jì)算公式。如果采用列優(yōu)先順序存放呢?解:公式教材已給出,此處雖是方陣,但行列公式仍不相同;按行存儲(chǔ)的元素地址公式是:Loc(aij)=Loc(a11)+[(i-1)*m+(j-1)]*K按列存儲(chǔ)的元素地址公式是:Loc(aij)=Loc(a11)+[(j-1)*m+(i-1)]*K3.【全國專升本資格考試】遞歸算法比非遞歸算法花費(fèi)更多的時(shí)間,對嗎?為什么?答:不一定。時(shí)間復(fù)雜度與樣本個(gè)數(shù)n有關(guān),是指最深層的執(zhí)行語句耗費(fèi)時(shí)間,而遞歸算法與非遞歸算法在最深層的語句執(zhí)行上是沒有區(qū)別的,循環(huán)的次數(shù)也沒有太大差異。僅僅是確定循環(huán)是否繼續(xù)的方式不同,遞歸用棧隱含循環(huán)次數(shù),非遞歸用循環(huán)變量來顯示循環(huán)次數(shù)而已。四、計(jì)算題(每題5分,共20分)設(shè)s=’IAMASTUDENT’,t=’GOOD’,q=’WORKER’,求Replace(s,’STUDENT’,q)和Concat(SubString(s,6,2),Concat(t,SubString(s,7,8)))。解:①Replace(s,’STUDENT’,q)=’IAMAWORKER’②因?yàn)镾ubString(s,6,2)=‘A’;SubString(s,7,8)=‘STUDENT’Concat(t,SubString(s,7,8))=’GOODSTUDENT’所以Concat(SubString(s,6,2),Concat(t,SubString(s,7,8)))=‘AGOODSTUDENT’2.【嚴(yán)題集4.8②】已知主串s=’ADBADABBAABADABBADADA’,模式串pat=’ADABBADADA’。寫出模式串的nextval函數(shù)值,并由此畫出KMP算法匹配的全過程。解:(由演示程序得知)nextval函數(shù)值為0102101040在第12個(gè)字符處發(fā)現(xiàn)匹配!s=’ADBADABBAABADABBADADA’pat=’ADABBADADA’3.(P604-18)用三元組表表示下列稀疏矩陣:解:參見填空題4.三元素組表中的每個(gè)結(jié)點(diǎn)對應(yīng)于稀疏矩陣的一個(gè)非零元素,它包含有三個(gè)數(shù)據(jù)項(xiàng),分別表示該元素的行下標(biāo)、列下標(biāo)和元素值。所以(1)可列表為:(2)可列表為:886666416-22594356533233685467858124.(P604-19)下列各三元組表分別表示一個(gè)稀疏矩陣,試寫出它們的稀疏矩陣。解:(1)為6×4矩陣,非零元素有6個(gè),但其中一數(shù)下標(biāo)有誤?(2)為4×5矩陣,非零元素有5個(gè)1000010000000900800600700020012000改為2,1,1230000004006016000五、算法設(shè)計(jì)題(每題10分,共30分)【嚴(yán)題集4.12③】編寫一個(gè)實(shí)現(xiàn)串的置換操作Replace(&S,T,V)的算法。解:intReplace(Stringtype&S,StringtypeT,StringtypeV);//將串S中所有子串T替換為V,并返回置換次數(shù){for(n=0,i=1;i<=Strlen(S)-Strlen(T)+1;i++)//注意i的取值范圍if(!StrCompare(SubString(S,i,Strlen(T)),T))//找到了與T匹配的子串{//分別把T的前面和后面部分保存為head和tailStrAssign(head,SubString(S,1,i-1));StrAssign(tail,SubString(S,i+Strlen(T),Strlen(S)-i-Strlen(T)+1));StrAssign(S,Concat(head,V));StrAssign(S,Concat(S,tail));//把head,V,tail連接為新串i+=Strlen(V);//當(dāng)前指針跳到插入串以后n++;n++;}//ifreturnn;}//Replace分析:i+=Strlen(V);這一句是必需的,也是容易忽略的.如省掉這一句,則在某些情況下,會(huì)引起不希望的后果,雖然在大多數(shù)情況下沒有影響.請思考:設(shè)S='place',T='ace',V='face',則省掉i+=Strlen(V);運(yùn)行時(shí)會(huì)出現(xiàn)什么結(jié)果?【全國專升本資格考試】寫出將字符串反序的遞歸或遞推算法,例如字符串為“abcsxw”,反序?yàn)椤皐xscba”(注:這也是嚴(yán)題集4.10③編寫對串求逆的遞推算法)算法思路:假定用單鏈表結(jié)構(gòu)存儲(chǔ)字符串;if沒有到尾部字符就不停調(diào)用自身函數(shù),直至到達(dá)末尾,再從尾部返回并打印字符;遞歸算法的一般形式:(殷人凱題集P102)voidp(參數(shù)表遞歸算法的一般形式:(殷人凱題集P102)voidp(參數(shù)表){if(遞歸結(jié)束條件)可直接求解步驟;基本項(xiàng)elsep(較小的參數(shù));歸納項(xiàng)}DLR(x*root){if(!root)return(0);printf(“%d”,root->data);DLR(root->lchild);DLR(root->rchild);}Invert(stringlistnode*p){if(!p)return(0);elseInvert(p->next);printf(“%c”,p->data)}如果當(dāng)前串長為0,則return(-1)否則開始遞歸:if串沒有到末尾,則P=P->next;再調(diào)用invert(s);elseprintf(p->data);return4.10voidString_Reverse(Stringtypes,Stringtype&r)//求s的逆串r{StrAssign(r,'');//初始化r為空串for(i=Strlen(s);i;i--){StrAssign(c,SubString(s,i,1));StrAssign(r,Concat(r,c));//把s的字符從后往前添加到r中/這是遞推算法?}}//String_Reverse【嚴(yán)題集5.18⑤】試設(shè)計(jì)一個(gè)算法,將數(shù)組An中的元素A[0]至A[n-1]循環(huán)右移k位,并要求只用一個(gè)元素大小的附加存儲(chǔ),元素移動(dòng)或交換次數(shù)為O(n)解:5.18分析:要把A的元素循環(huán)右移k位,則A[0]移至A[k],A[k]移至A[2k]直到最終回到A[0].然而這并沒有全部解決問題,因?yàn)橛锌赡苡械脑卦诖诉^程中始終沒有被訪問過,而是被跳了過去.分析可知,當(dāng)n和k的最大公約數(shù)為p時(shí),只要分別以A[0],A[1],...A[p-1]為起點(diǎn)執(zhí)行上述算法,就可以保證每一個(gè)元素都被且僅被右移一次,從而滿足題目要求.也就是說,A的所有元素分別處在p個(gè)"循環(huán)鏈"上面.舉例如下:n=15,k=6,則p=3.第一條鏈:A[0]->A[6],A[6]->A[12],A[12]->A[3],A[3]->A[9],A[9]->A[0]./已“順便”移動(dòng)了A[6]、A[12]…第二條鏈:A[1]->A[7],A[7]->A[13],A[13]->A[4],A[4]->A[10],A[10]->A[1].第三條鏈:A[2]->A[8],A[8]->A[14],A[14]->A[5],A[5]->A[11],A[11]->A[2].恰好使所有元素都右移一次.雖然未經(jīng)數(shù)學(xué)證明,但作者相信上述規(guī)律應(yīng)該是正確的.程序如下:voidRSh(intA[n],intk)//把數(shù)組A的元素循環(huán)右移k位,只用一個(gè)輔助存儲(chǔ)空間{for(i=1;i<=k;i++)if(n%i==0&&k%i==0)p=i;//求n和k的最大公約數(shù)pfor(i=0;i<p;i++){j=i;l=(i+k)%n;temp=A[i];while(l!=i){A[j]=temp;temp=A[l];A[l]=A[j];j=l;l=(j+k)%n;}//循環(huán)右移一步A[i]=temp;}//for}//RSh附加題:利用C的庫函數(shù)strlen,strcpy(或strncpy)寫一個(gè)算法voidStrDelete(char*S,intt,intm),刪除串S中從位置i開始的連續(xù)的m個(gè)字符。若i≥strlen(S),則沒有字符被刪除;若i+m≥strlen(S),則將S中從位置i開始直至末尾的字符均被刪去。提示:strlen是求串長(length)函數(shù):intstrlen(chars);//求串的長度strcpy是串
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保產(chǎn)業(yè)科技前沿與創(chuàng)新動(dòng)態(tài)
- 電力工程施工中的質(zhì)量控制與驗(yàn)收
- 2025年度水電工程物資采購合同
- 用電安全意識(shí)教育在辦公室環(huán)境的推廣應(yīng)用
- 電商運(yùn)營數(shù)據(jù)的可視化呈現(xiàn)技巧
- 人教版數(shù)學(xué)七年級上冊2.2《整式的加減(2)》聽評課記錄
- 2025年度股權(quán)轉(zhuǎn)讓協(xié)議中的稅務(wù)籌劃與稅務(wù)合規(guī)性審查合同
- 八年級上冊歷史人教版同步聽課評課記錄第9課《辛亥革命》
- 機(jī)器人運(yùn)動(dòng)中的電機(jī)控制器性能評估與優(yōu)化
- 蘇科版數(shù)學(xué)七年級上冊《數(shù)學(xué)活動(dòng)測量距離》聽評課記錄
- 2023年湖北省襄陽市中考數(shù)學(xué)真題(原卷版)
- (高清版)DB15∕T 3585-2024 高標(biāo)準(zhǔn)農(nóng)田施工質(zhì)量評定規(guī)程
- 試油(氣)HSE作業(yè)指導(dǎo)書
- 2024年《動(dòng)漫藝術(shù)概論》自考復(fù)習(xí)題庫(附答案)
- 2024年職業(yè)技能“大數(shù)據(jù)考試”專業(yè)技術(shù)人員繼續(xù)教育考試題庫與答案
- 新時(shí)代勞動(dòng)教育教程(高校勞動(dòng)教育課程)全套教學(xué)課件
- 2024年遼寧軌道交通職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- 小升初數(shù)學(xué)總復(fù)習(xí)專題訓(xùn)練:平行四邊形的面積與梯形的面積
- 物業(yè)安全開工第一課課件
- 化工設(shè)計(jì)自動(dòng)控制方案
- 幼兒園幼小銜接考試試題一
評論
0/150
提交評論