資料結構C語言模擬試題及答案沒印

2022-11-24 12:35:23 字數 5271 閱讀 9053

保持平常心,營造好環境,揚起常笑臉,輕鬆迎高考。

資料結構與演算法》複習題

一、選擇題

1.在資料結構中

從邏輯上可以把資料結構分為  c

a.動態結構和靜態結構    b.緊湊結構和非緊湊結構

c.線性結構和非線性結構   d.內部結構和外部結構

2.資料結構在計算機記憶體中的表示是指 a

a.資料的儲存結構  b.資料結構  c.資料的邏輯結構  d.資料元素之間的關係

3.在資料結構中

與所使用的計算機無關的是資料的  a  結構

a.邏輯  b.儲存   c.邏輯和儲存   d.物理

4.在儲存資料時

通常不僅要儲存各資料元素的值

而且還要儲存  c

a.資料的處理方法    b.資料元素的型別

c.資料元素之間的關係  d.資料的儲存方法

5.在決定選取何種儲存結構時

一般不考慮  a

a.各結點的值如何   b.結點個數的多少

c.對資料有哪些運算  d.所用的程式語言實現這種結構是否方便

6.以下說法正確的是 d

a.資料項是資料的基本單位

b.資料元素是資料的最小單位

c.資料結構是帶結構的資料項的集合

d.一些表面上很不相同的資料可以有相同的邏輯結構

7.演算法分析的目的是 c

演算法分析的兩個主要方面是 a

(1)a.找出資料結構的合理性    b.研究演算法中的輸入和輸出的關係

c.分析演算法的效率以求改進   c.分析演算法的易讀性和文件性

(2)a.空間複雜度和時間複雜度   b.正確性和簡明性

c.可讀性和文件性       d.資料複雜性和程式複雜性

8.下面程式段的時間複雜度是 o(n2)

s =0;

for( i =0; i<n; i++)

for(j=0;j<n;j++)

s +=b[i][j];

sum = s ;

9.下面程式段的時間複雜度是 o(n*m)

for( i =0; i<n; i++)

for(j=0;j<m;j++)

a[i][j] = 0;

10.下面程式段的時間複雜度是 o(log3n)

i = 0;

while(i<=n)

i = i * 3;

11.在以下的敘述中

正確的是  b

a.線性表的順序儲存結構優於連結串列儲存結構

b.二維陣列是其資料元素為線性表的線性表

c.棧的操作方式是先進先出

d.佇列的操作方式是先進後出

12.通常要求同一邏輯結構中的所有資料元素具有相同的特性

這意味著 b

a.資料元素具有同一特點

b.不僅資料元素所包含的資料項的個數要相同

而且對應的資料項的型別要一致

c.每個資料元素都一樣

d.資料元素所包含的資料項的個數要相等

13.連結串列不具備的特點是  a

a.可隨機訪問任一結點   b.插入刪除不需要移動元素

c.不必事先估計儲存空間  d.所需空間與其長度成正比

14.不帶頭結點的單連結串列head為空的判定條件是  a

next ==null

c.head->next ==head    d head!=null

15.帶頭結點的單連結串列head為空的判定條件是  b

next ==null

c.head->next ==head    d head!=null

16.若某表最常用的操作是在最後一個結點之後插入一個結點或刪除最後一個結點

則採用 d  儲存方式最節省運算時間

a.單連結串列  b.給出表頭指標的單迴圈連結串列  c.雙連結串列  d.帶頭結點的雙迴圈連結串列

17.需要分配較大空間

插入和刪除不需要移動元素的線性表

其儲存結構是  b

a.單連結串列  b.靜態連結串列  c.線性連結串列   d.順序儲存結構

18.非空的迴圈單連結串列head的尾結點(由p所指向)滿足 c

a.p->next == null    b.p == null

c.p->next ==head    d.p == head

19.在迴圈雙連結串列的p所指的結點之前插入s所指結點的操作是  d

a.p->

prior->

prior

b.p->

prior->

prior

c.s->

prior->next = s

d.s->

prior->

prior = s

20.如果最常用的操作是取第i個結點及其前驅

則採用 d 儲存方式最節省時間

a.單連結串列  b.雙連結串列  c.單迴圈連結串列  d. 順序表

21.在一個具有n個結點的有序單連結串列中插入一個新結點並仍然保持有序的時間複雜度是 b

a.o(1)  b.o(n)  c.o(n2)  d.o(nlog2n)

22.在一個長度為n(n>1)的單連結串列上

設有頭和尾兩個指標

執行  b 操作與連結串列的長度有關

a.刪除單連結串列中的第一個元素

b.刪除單連結串列中的最後一個元素

c.在單連結串列第一個元素前插入一個新元素

d.在單連結串列最後一個元素後插入一個新元素

23.與單連結串列相比

雙連結串列的優點之一是 d

a.插入、刪除操作更簡單

b.可以進行隨機訪問

c.可以省略表頭指標或表尾指標

d.順序訪問相鄰結點更靈活

24.如果對線性表的操作只有兩種

即刪除第一個元素

在最後一個元素的後面插入新元素

則最好使用  b

a.只有表頭指標沒有表尾指標的迴圈單連結串列

b.只有表尾指標沒有表頭指標的迴圈單連結串列

c.非迴圈雙連結串列

d.迴圈雙連結串列

25.在長度為n的順序表的第i個位置上插入一個元素(1≤ i ≤n+1)

元素的移動次數為:  a

a.n - i + 1    b.n - i     c.i       d.i - 1

26.對於只在表的首、尾兩端進行插入操作的線性表

宜採用的儲存結構為  c

a.順序表b. 用頭指標表示的迴圈單連結串列

c.用尾指標表示的迴圈單連結串列   d.單連結串列

27.下述哪一條是順序儲存結構的優點?  c

a插入運算方便  b可方便地用於各種邏輯結構的儲存表示

c儲存密度大   d刪除運算方便

28.下面關於線性表的敘述中

錯誤的是哪一個?  b

a線性表採用順序儲存

必須佔用一片連續的儲存單元

b線性表採用順序儲存

便於進行插入和刪除操作

c線性表採用鏈式儲存

不必佔用一片連續的儲存單元

d線性表採用鏈式儲存

便於進行插入和刪除操作

29.線性表是具有n個  b  的有限序列

a.字元  b.資料元素   c.資料項    d.表元素

30.在n個結點的線性表的陣列實現中

演算法的時間複雜度是o(1)的操作是  a

a.訪問第i(1<=i<=n)個結點和求第i個結點的直接前驅(1<i<=n)

b.在第i(1<=i<=n)個結點後插入一個新結點

c.刪除第i(1<=i<=n)個結點

d.以上都不對

31.若長度為n的線性表採用順序儲存結構

在其第i個位置插入一個新元素的演算法的時間複雜度為c

a.o(0)   b.o(1)    c.o(n)    d.o(n2)

32.對於順序儲存的線性表

訪問結點和增加、刪除結點的時間複雜度為  c

a.o(n) o(n)   b.o(n) o(1)    c.o(1) o(n)   d.o(1) o(1)

33.線性表(a1

a2 ...

an)以鏈式方式儲存

訪問第i位置元素的時間複雜度為  c

a.o(0)   b.o(1)    c.o(n)    d.o(n2)

34.單連結串列中

增加一個頭結點的目的是為了 c

a.使單連結串列至少有一個結點   b.標識表結點中首結點的位置

c.方面運算的實現        d.說明單連結串列是線性表的鏈式儲存

35.在單連結串列指標為p的結點之後插入指標為s的結點

正確的操作是  b

a.p->

next=p->

next=p->

next=s;

c.p->

next=s->

next=s->next;p->next=s

36.線性表的順序儲存結構是一種 a

a.隨機存取的儲存結構     b.順序存取的儲存結構

c.索引存取的儲存結構     d.hash存取的儲存結構

37.棧的特點是  b

佇列的特點是 a

a.先進先出    b.先進後出

38.棧和佇列的共同點是 c

a.都是先進後出b.都是先進先出

c.只允許在端點處插入和刪除元素    d.沒有共同點

39.一個棧的進棧序列是abc

de則棧的不可能的輸出序列是  c

a.edcba   b.decba  c.dceab   d.abcde

40.設有一個棧

元素依次進棧的順序為a、b、c、d、e

下列  c  是不可能的出棧序列

a.abc

de  b.bcd

ea  c.eab

cd   d.edc

ba41.以下  b  不是佇列的基本運算?

a.從隊尾插入一個新元素    b.從佇列中刪除第i個元素

c.判斷一個佇列是否為空    d.讀取隊頭元素的值

42.若已知一個棧的進棧序列是123

n其輸出序列為p1

p2p3

...pn

若p1=n

則pi為  c

a.i  b.n-i  c.n-i+1  d.不確定

43.判定一個順序棧st(最多元素為maxsize)為空的條件是 b

a.st->top !

top == -1

c.st->top !

top == maxsize

44.判定一個順序棧st(最多元素為maxsize)為滿的條件是 d

a.st->top !

top == -1

c.st->top !

top == maxsize

45.一個佇列的入隊序列是1