1樓:匿名使用者
下面說法錯誤的是(b)
a 對迴圈連結串列來說,從表中任一結點出發都能通過前後操作而掃描整個迴圈連結串列
b 對單連結串列來說,只有從頭結點開始才能掃描表中全部結點
c 雙連結串列的特點是找結點的前趨結點和後繼結點很容易
d 對雙連結串列來說,結點*p的儲存位置即存放在其前驅結點的後繼指標域中,也存放在它的後繼結點的前趨指標域中
解釋:單連結串列有兩種,一種有頭結點,一種無頭結點。所以不一定從頭結點才能開始掃描。
線性連結串列不具有的性質(a)
a隨機訪問
b不必事先估計所需的儲存空間大小
c插入與刪除不必移動元素
d所需空間與線性表長度成正比
解釋:要訪問線性連結串列中的結點,需要從第一個結點(頭結點或首元結點)開始向後查詢。
正確的是(c)
a在單連結串列中,任何兩個元素的儲存位置之間都固定的聯絡,因為可以從頭結點進行查詢任何一個元素
b在單連結串列中,要取某個元素,只要知道該元素的指標即可,因此單連結串列是隨機存取的儲存結構
c順序儲存結構屬於靜態結構,鏈式結構屬於動態
d順序儲存方式只能用於儲存線性結構
線性表是一個具有n個(a)的有限序列
a表元素
b字元c資料結構
d資料項
解釋:書上寫的是資料元素,但是對於該題應可以將「資料」具體化為「表」。
對於順序表下列錯誤的是(a)
a順序表是用一堆陣列實現的線性表,陣列的下標可以看成是元素的絕對地址
b順序表的所有儲存節點按相應的資料元素間的邏輯關係決定的次序依次排列
c順序表的特點是:邏輯結構中相鄰的結點在儲存結構中仍相鄰
d順序表的特點是:邏輯上的相鄰元素,儲存在物理位置也相鄰的單位中
解釋:順序表可以用一維陣列實現,但並不是陣列的下標就是元素的絕對地址。絕對地址x與基地址、第幾個元素和每個結點所佔用的儲存單元大小有關。x=b+(i-1)*d
單連結串列的一個儲存結點包含(a)
a資料域和指標域
b指標域或鏈域
c指標域和鏈域
d資料域和鏈域
如果以連結串列作為棧的儲存結構,則入棧操作時(a)
a必須判斷是否為滿
b必須判斷元素型別
c必須判斷棧是否為空
d對棧不進行操作
解釋:若棧滿,則入棧後資料會溢位。因此需要判斷。
2樓:匿名使用者
1--5 c d c bhg,eg cc 6--9 d ba a c 想當年,我也做過的期末考試題目,哈哈,可惜好多年不接觸資料庫,忘得差不多了,等人回答 呵呵
3樓:迪倫少校
b,a,a,d,a,a,a,b。不一定全對,大體給你看了一下。
資料結構與演算法的哪本書比較好,推薦一下。20分
4樓:匿名使用者
資料結構清華出版社的那本挺好的...裡面還有**...你可以照著敲敲...
演算法的話推薦演算法原理這書感覺就是人手一本的那種orz...其實演算法的書有donald knuth神級的幾卷書...如果你對演算法很有興趣很願意鑽研數學特別好...可以看看...
資料結構不難...演算法嘛...反正我覺得好難啊/_\當然可能是因為我數學不好...
5樓:思奇意卓
建議使用清華大學出版的《資料結構(c語言版)》
這個挺難的,但是卻非常有用,希望能多看幾本這一系列的書,這樣才能掌握大體結構。
一、單項選擇題(本大題共10小題,每小題2分,共20分) 得分 閱卷人 1.如果在資料結構中
6樓:匿名使用者
1-5:ccdbd
6-9:ccdd
10: ?(無圖)
高分求資料結構(c語言)高手做題!(200懸賞+50追加+20採納=270分)
7樓:來自南方的流氓
1.資料結構在計算機中的表示稱為資料的( b )。
a)儲存結構 b)抽象結構 c)順序結構 d)邏輯結構
12.在下列序列中,不是線性表的是( d )。
a)('a','b','c') b)('ab','cd') c)('a',true,'c') d)(a,b,c,d)
13.線性連結串列中各鏈結點之間的地址( d )。
a)必須連續 b)部分地址必須連續 c)不一定連續 d)連續與否無所謂
14.如某連結串列中最常用的操作是在最後一個結點後插入一個結點和刪除最後一個結點,則( d )儲存方式最節省執行時間。
a)單連結串列 b)帶頭結點的單連結串列 c)單迴圈連結串列 d)帶頭結點的雙迴圈連結串列
26.從一個具有頭結點的單連結串列中查詢資料元素值為x的結點時,在查詢成功的情況下,平均比較次數是( b)。
a)n b)n/2 c)(n-1)/2 d)(n+1)/2
27.對於長度為n的順序線性表進行刪除元素操作,如刪除每個元素的概率相同,則刪除一個元素移動元素的平均次數是( b )。
a)n/2 b)(n-1)/2 c)(n+1)/2 d)dn
38.串是( b )。
a)不少於一個字元的序列 b)有限個字元的序列
c)不少於一個字母的序列 d)任意個字母的序列
40.當矩陣非零元素的位置或個數經常變動時,採用( c )儲存結構更為恰當。
a)順序表 b)三元組表 c)十字連結串列 d)廣義表
41.一個三對角矩陣an×n已按行壓縮儲存到一維陣列b中,則b的長度至少為(c)。
a)3n+1 b)3n c)3n-1 d)3n-2
42.廣義表((a,b),(c,d))的表尾是( a )。
a)(c,d) b)((c,d)) c)(d) d)d
44.設一棵二叉樹中沒有度為1的結點,已知葉子結點數為n,此樹的結點數為( b )。
a)2n+2 b)2n+1 c)2n d)2n-1
45.設二叉樹中有n2個度為2的結點,n1個度為1的結點,n0個葉子結點,則此二叉樹中空指標域個數為( d )。
a)n0+n1+n2 b)n2+n1+2n0 c)2n2+n1 d)2n0+n1
48. a、b兩個結點可以構成( c )棵不等價的二叉樹。
a)2 b)3 c)4 d)5
49.設哈夫曼樹的葉結點數為n,則它的結點總數為( a )。
a)2n-1 b)2n c)2n+1 d)不確定
50.採用鄰接表儲存的圖按深度優先搜尋方法進行遍歷的演算法類似於二叉樹的(d )。
a)先序遍歷 b)中序遍歷 c)後序遍歷 d)層次遍歷
59.快速排序執行一遍之後,已經到位的元素個數是( a )。
a)1 b)3 c) d)
60.在下列演算法中,操作時間不隨檔案的初始狀態變化的排序演算法是( b )。
a)堆排序 b)折半插入排序 c)基數排序 d)快速排序
61.資料表中有10000個元素,如果僅需求出其中最大的10個元素,則採用( d )
a)快速排序 b)希爾排序 c)堆排序 d)直接選擇排序
62.快速排序在最壞情況下時間複雜度是o(n2),比( d )的效能差。
a)堆排序 b)起泡排序 c)選擇排序 d)直接插入排序
63.下列排序演算法中一趟結束後未必能選出一個元素放在其最終位置上的演算法是(a)。
a)快速排序 b)氣泡排序 c)樹形選擇排序 d)歸併排序
64.若需在o(nlogn)的時間內完成對陣列的排序,且要求排序是穩定的,則可選擇的排序方法是( b )。
a)快速排序 b)堆排序 c)歸併排序 d)直接插入排序
65.初始檔案中有兩個關鍵字相同的記錄,通過不穩定的排序方法排序後,(d)。
a)使得領先關係不發生變化 b)領先關係一定發生變化
c)兩個位置都不會發生變化 d)領先關係可能發生變化
66.如果只想得到1000個元素組成的序列中第5個最小元素之前的部分排序的序列,用( b )方法平均時間最少。
a)起泡排序 b)簡單選擇排序 c)shell排序 d)堆排序問題補充:
77.一組記錄的排序碼為(48,24,18,53,16,26,40),採用氣泡排序法進行排序,則第一趟排序需要進行記錄交換的次數是(c)。
a)3 b)4 c)5 d)6
78.在下列排序方式中,關鍵碼比較次數與記錄的初始排列無關的是(d)。
a)直接選擇排序 b)氣泡排序 c)堆排序 d)歸併排序
79.倒排檔案的最大優點是( b)。
a)便於進行檔案的歸併 b)有利於檔案的插入與刪除
c)能大大地提高主關鍵字的查詢速度 d)能大大地提高次關鍵字的查詢速度
80.檔案中可使用的資料的最小單位是(b )。
a)記錄 b)字元 c)資料項 d)資料元素
81.isam檔案和vasm檔案屬於(c )。
a)索引非順序檔案 b)索引順序檔案 c)順序檔案 d)雜湊檔案
a)先序遍歷 b)中序遍歷 c)後序遍歷 d)按層遍歷
181.使用雜湊函式hashf(x)=x mod 11,把一個整數值轉換成雜湊表下標,現要把資料 1、13、12、34、38、33、27、22插入到雜湊表中。
(1)使用線性探查再雜湊法來構造雜湊表並同時列出每個資料的比較次數。
(2)使用鏈地址法來構造雜湊
8樓:匿名使用者
1.資料結構在計算機中的表示稱為資料的( a )。
a)儲存結構 b)抽象結構 c)順序結構 d)邏輯結構
12.在下列序列中,不是線性表的是( c )。
a)('a','b','c') b)('ab','cd') c)('a',true,'c') d)(a,b,c,d)
13.線性連結串列中各鏈結點之間的地址( c )。
a)必須連續 b)部分地址必須連續 c)不一定連續 d)連續與否無所謂
14.如某連結串列中最常用的操作是在最後一個結點後插入一個結點和刪除最後一個結點,則( c )儲存方式最節省執行時間。
a)單連結串列 b)帶頭結點的單連結串列 c)單迴圈連結串列 d)帶頭結點的雙迴圈連結串列
26.從一個具有頭結點的單連結串列中查詢資料元素值為x的結點時,在查詢成功的情況下,平均比較次數是( d )。
a)n b)n/2 c)(n-1)/2 d)(n+1)/2
27.對於長度為n的順序線性表進行刪除元素操作,如刪除每個元素的概率相同,則刪除一個元素移動元素的平均次數是( )。
a)n/2 b)(n-1)/2 c)(n+1)/2 d)dn
38.串是(a )。
a)不少於一個字元的序列 b)有限個字元的序列
c)不少於一個字母的序列 d)任意個字母的序列
40.當矩陣非零元素的位置或個數經常變動時,採用( )儲存結構更為恰當。
a)順序表 b)三元組表 c)十字連結串列 d)廣義表
41.一個三對角矩陣an×n已按行壓縮儲存到一維陣列b中,則b的長度至少為()。
a)3n+1 b)3n c)3n-1 d)3n-2
42.廣義表((a,b),(c,d))的表尾是( )。
a)(c,d) b)((c,d)) c)(d) d)d
44.設一棵二叉樹中沒有度為1的結點,已知葉子結點數為n,此樹的結點數為( )。
a)2n+2 b)2n+1 c)2n d)2n-1
45.設二叉樹中有n2個度為2的結點,n1個度為1的結點,n0個葉子結點,則此二叉樹中空指標域個數為( )。
a)n0+n1+n2 b)n2+n1+2n0 c)2n2+n1 d)2n0+n1
48. a、b兩個結點可以構成( )棵不等價的二叉樹。
a)2 b)3 c)4 d)5
49.設哈夫曼樹的葉結點數為n,則它的結點總數為( )。
a)2n-1 b)2n c)2n+1 d)不確定
50.採用鄰接表儲存的圖按深度優先搜尋方法進行遍歷的演算法類似於二叉樹的( )。
a)先序遍歷 b)中序遍歷 c)後序遍歷 d)層次遍歷
59.快速排序執行一遍之後,已經到位的元素個數是( )。
a)1 b)3 c) d)
60.在下列演算法中,操作時間不隨檔案的初始狀態變化的排序演算法是( )。
a)堆排序 b)折半插入排序 c)基數排序 d)快速排序
61.資料表中有10000個元素,如果僅需求出其中最大的10個元素,則採用( )排序演算法最節省時間。
a)快速排序 b)希爾排序 c)堆排序 d)直接選擇排序
62.快速排序在最壞情況下時間複雜度是o(n2),比( )的效能差。
a)堆排序 b)起泡排序 c)選擇排序 d)直接插入排序
63.下列排序演算法中一趟結束後未必能選出一個元素放在其最終位置上的演算法是()。
a)快速排序 b)氣泡排序 c)樹形選擇排序 d)歸併排序
64.若需在o(nlogn)的時間內完成對陣列的排序,且要求排序是穩定的,則可選擇的排序方法是( )。
a)快速排序 b)堆排序 c)歸併排序 d)直接插入排序
65.初始檔案中有兩個關鍵字相同的記錄,通過不穩定的排序方法排序後,()。
a)使得領先關係不發生變化 b)領先關係一定發生變化
c)兩個位置都不會發生變化 d)領先關係可能發生變化
66.如果只想得到1000個元素組成的序列中第5個最小元素之前的部分排序的序列,用( )方法平均時間最少。
a)起泡排序 b)簡單選擇排序 c)shell排序 d)堆排序
學習資料結構什麼基礎要好,學習資料結構前應該學什麼?
資料結構主要是有數學基礎,和一些簡單的計算機語言應用能力,剩下的完全靠你數學思想 也就是看你的演算法。如果你感覺要你寫一段 你能想明白,但是打不出來的話,還是溫習一下比較好。既然你資料結構掛過一次,那還是建議你資料結構走c的路線,會輕鬆許多 資料結構的基礎就是c 和c,如果你想把資料結構學號的話,那...
資料結構問題void A linklistl 和void A linklist l 的區別是什麼
書中的寫法void initlist linklist l 是為了告訴讀者,這裡需要傳入一個指標而已 我記得上課的時候老師是這麼說的 函式宣告和實現時寫void initlist struct lnode l 呼叫這個函式時寫initlist linklist l 我就這麼理解的 l就是l的值,是l...
資料結構和演算法先學哪個比較好,請問資料結構和演算法二者之間究竟是什麼關係?應該先學哪一個?
先資料結構,後演算法。因為演算法設計要求儘可能提高時空效率,而這就要通過資料結構來實現,所以兩者有先後之分 一般大學可能會同時學,我建議先資料結構再演算法,資料結構相比較演算法來說其實簡單一點,而且演算法是需要一定資料結構支援的 演算法是解決bai問題的方法,du解決一種問題可以有很多zhi方法 d...