数据结构复习(一)
一、單項選擇題
(????? ) 1. 數(shù)據(jù)的四種基本邏輯結(jié)構(gòu)是指。
? A. 鏈表、數(shù)組、串、圖狀結(jié)構(gòu)
? B. 線性表、鏈表、棧隊列、數(shù)組
? C. 線性結(jié)構(gòu)、鏈表、樹形結(jié)構(gòu)、圖形結(jié)構(gòu)
? D. 集合、線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖狀結(jié)構(gòu)
(????? ) 2 .評價算法的時間復(fù)雜性,比較“對數(shù)階量級”與“線性階量級”,則有。
A .? 對數(shù)階量級復(fù)雜性大于線性階量級
B .? 對數(shù)階量級復(fù)雜性小于線性階量級
C .? 對數(shù)階量級復(fù)雜性等于線性階量級
D .? 兩者之間無法比較?
(????? ) 3.下面程序段的時間復(fù)雜度為 。
??? for(int?i=0;?i<m;?i++)
??? ? for(int?j=0;?j<n;?j++)
????????????? ?a[i][j]=i*j;
?? ? A.?O(m2)??????? ?? B.?O(n2)?
????? ???C.?O(m*n)?????? ??? D.?O(m+n)
(????? ) 4. 評價排序算法好壞的標準主要是。 ?
? A.執(zhí)行時間 ?? ? B.輔助空間
? C.算法本身的復(fù)雜度
? D.時間復(fù)雜度和空間復(fù)雜度
(????? ) 5. 在一個單鏈表中,若要刪除由指針q 所指向結(jié)點的后繼結(jié)點,則執(zhí)行。
????? A.p?=?q->next?;??p->next?=?q->next;
???? B.p?=?q->next?;??q->next?=?p;
????? C.p?=?q->next?;??q->next?=?p->next;
????? D.q->next?=?q->next->next;??q->next?=?q;
(????? ) 6. 鏈表不具有的特點是。
? ? A.不必事先估計存儲空間
? ? B.插入刪除不需要移動元素
??? ? C.可隨機訪問任一元素
??? ? D.所需空間與線性表長度成正比
(????? ) 7. 在單鏈表中的結(jié)點 *p 之后插入一個結(jié)點 *s,應(yīng)執(zhí)行的語句是。
? A.s->next=p->next;???? p->next=s;
? B.p->next=s;???? s->next=p->next;
? C.p->next=s->next;??? s->next=p;
? D.s->next=p;??? p->next=s->next;
(????? ) 8. 棧和隊列都是。
? A.鏈式存儲的線性結(jié)構(gòu)
????? ? B.順序存儲的線性結(jié)構(gòu)
? C.限制存取位置的線性結(jié)構(gòu)
? ? D.限制存取位置的非線性結(jié)構(gòu)
(?????? ) 9.設(shè)一個棧的輸入序列為A、B、C、D,則借助一個棧所能得到的輸出序列不可能是。
? A.ABCD ? B.DCBA
? C.ACDB ? D.DABC
(?????? ) 10.在下列哪種運算中,使用順序表比鏈表好。 ?
? A.插入 ???? ? B.刪除
? C.根據(jù)序號查找 ?? D.根據(jù)元素值查找
(?????? ) 11. 帶頭結(jié)點的單鏈表head為空的判斷條件是
? A.head= =NULL???????????? B.head->next= =NULL
??? C.head->next=head??????? D.head!=NULL
?(?????? ) 12.在需要經(jīng)常查找結(jié)點的前驅(qū)與后繼的場合中,比較合適的是使用。
? ? A.單鏈表?????????? B.雙鏈表
?????? C.隊列??????????? D.循環(huán)鏈表
(?????? ) 13.關(guān)于串的敘述中,正確的是(???? )
? A.空串是含有零個字符或含有空格字符的串
? B.?? 空串是只含有空格字符的串
? C.?? 串是含有一個或多個字符的有窮序列
? D.?? 空串是只含有零個字符的串
?(?????? ) 14.若一個串非空,子串的定位操作通常稱為。
? A. 串的長度? ? B.原串的子串
? C.串的模式匹配? ? D.串的連接
(????? ) 16. 設(shè)h是指向帶頭結(jié)點的循環(huán)鏈表的頭指針,p是輔助指針。執(zhí)行下述程序段后
p=h;
while (p->next->next!=h)
?????? ? p=p->next;
? p->next=h;
? A.?? p->next 指針指向鏈尾結(jié)點
? B.?? h 指向鏈尾結(jié)點
? C.? 刪除鏈尾前面的結(jié)點
? D.? 刪除鏈尾結(jié)點?
二、填空題
1.在鏈表中進行插入和__刪除______操作的效率比在順序存儲結(jié)構(gòu)中進行相同操作的效率高。
2.在一個長度為n的順序表中刪除第i個元素,要移動__n-i_______個元素。
3. 在空串和空格串中,長度不為0的是___空格串______。
4. 某非空雙鏈表,結(jié)點中的指針域為 prior 和 next。若要刪除指針q所指向的結(jié)點,則需執(zhí)行下述語句段:
??? q -> prior -> next = q->next ;
?___q->next->prior=q->prior;____________________________。
5. 若 head 表示循環(huán)鏈表的頭指針,t 表示尾結(jié)點,則頭指針 head 與 尾結(jié)點 t? 之間的關(guān)系可表示為___t->next=head;______________。
7. 設(shè)指針head指向不帶頭結(jié)點的單鏈表,指針p指向一個新結(jié)點?,F(xiàn)要將指針p指向的結(jié)點插入表中,使之成為第一個結(jié)點,則所需的操作為:
?? p→next=head;? 和___head=p;____________。
轉(zhuǎn)載于:https://www.cnblogs.com/yuanqi/p/3492602.html
總結(jié)
- 上一篇: 怎么查自己名下的银行卡有几张
- 下一篇: 科创板上市条件,有以下五点