1. 程式人生 > 實用技巧 >資料結構-順序表習題

資料結構-順序表習題

黑體加粗為不熟悉的題目

判斷題

1.(neuDS)所謂隨機存取,就是通過首地址和元素的位序號值可以在O(1)的時間內找到指定的元素。

T F

2.(neuDS)在順序表上進行插入、刪除操作時需要移動元素的個數與待插入或待刪除元素的位置無關。

T F

3.順序儲存方式只能用於儲存線性結構。

T F

4.在順序表中取出第i個元素所花費的時間與i成正比。

T F

5.對於順序儲存的長度為N的線性表,刪除第一個元素和插入最後一個元素的時間複雜度分別對應為O(1)和O(N)。

T F

6.(neuDS)在順序表中邏輯上相鄰的元素,其對應的物理位置也是相鄰的。

T F

7.順序儲存的線性表可以隨機存取。

T F

8.順序儲存結構的主要缺點是不利於插入或刪除操作。

T F

選擇題

1.用陣列表示線性表的優點是()。

A.便於插入和刪除操作
B.便於隨機存取
C.可以動態地分配儲存空間
D.不需要佔用一片相鄰的儲存空間

2.閱讀下列程式,其功能是()。

typedef struct {
ElemType *list;
int size;
intMaxSize;
}SeqList;
void fun1(SeqList&L) {
inti, j;
ElemType temp;
   for (i=0, j= L.sise-1; i<j; i++, j--) {
       temp=L.list[i
]; L.list[i]=L.list[j]; L.list[j]=temp; } }
A.將順序表原地逆置
B.將連結串列原地逆置
C.將順序表首尾元素對換
D.將連結串列首尾元素對換

3.順序儲存表示中資料元素之間的邏輯關係是由( )表示的。

A.指標
B.邏輯順序
C.儲存位置
D.問題上下文

4.順序表的優點是( )。

A.插入操作的時間效率高
B.適用於各種邏輯結構的儲存表示
C.儲存密度(儲存利用率)高
D.刪除操作的時間效率高

5.若線性表最常用的操作是存取第i個元素及其前驅的值,則採用( )儲存方式節省時間。

A.單鏈表
B.雙向連結串列
C.單迴圈連結串列
D.順序表
//像這種題目優先想順序表,別被前驅迷了眼

6.陣列A[1..5,1..6]每個元素佔5個單元,將其按行優先次序儲存在起始地址為1000的連續的記憶體單元中,則元素A[5,5]的地址為:

A.1120
B.1125
C.1140
D.1145

7.若某線性表最常用的操作是存取任一指定序號的元素和在最後進行插入和刪除運算,則利用哪種儲存方式最節省時間?

A.雙鏈表
B.單迴圈連結串列
C.帶頭結點的雙迴圈連結串列
D.順序表

8.若長度為n的線性表採用順序結構,在第i個數據元素之前插入一個元素,需要它依次向後移動()個元素。

A.n-i
B.n-i+1
C.n-i-1
D.i

9.已知線性表中的元素以值遞增有序排列,閱讀下列程式,該演算法的功能是()。

typedef struct {
ElemType *list;
int size;
intMaxSize;
}SeqList; 
void fun3(SeqList&L, ElemType min, ElemType max){
int i=0, j, k, d;
  while(i<L.size&&L.list[i]<=min)
   i++;
   j = i;
   while (j<L.size&&L.list[j]<max)
    j++;
   d = j-i;
   if ( d==0)  return;
   for (k=j; k<L.size; k++)   L.list[k-d] = L.list[k];
L.size = L.size - d;
}
A.刪除順序表中所有值小於min或大於max的元素
B.將順序表中值大於min且小於max的元素向前移動
C.刪除順序表中所有值大於min且小於max的元素
D.將順序表中值大於max的元素向前移動min個位置

10.對於順序表的優缺點,以下說法錯誤的是( )。

A.無需為表示結點間的邏輯關係而增加額外的儲存空間
B.可以方便地隨機存取表中的任一結點
C.插入和刪除運算較方便
D.容易造成一部分空間長期閒置而得不到充分利用

11.串是一種特殊的線性表,其特殊性體現在()

A.可順序儲存
B.資料元素是一個字元
C.可連結儲存
D.資料元素可以是多個字元