典型資料結構面試題

2021-05-12 19:24:27 字數 1513 閱讀 3939

1. 在乙個單鏈表中p所指結點之前插入乙個s (值為e)所指結點時,可執行如下操作:

q=head;

while (q->next!=p) q=q->next;

s= new node; s->data=e;

q->next填空

s->next填空

1.q->next=s;

s->next=p;

2. 線性表的順序儲存結構是一種的儲存結構,而鏈式儲存結構是一種___的儲存結構。

a.隨機訪問 b.索引訪問 c.順序訪問 d.雜湊訪問

2.a/c(這題是考察對概念的理解,可參考第7題,「順序表才能隨即訪問,而鍊錶不可以」)

3. 線性表若採用鏈式儲存結構時,要求記憶體中可用儲存單元的位址___。

a. 必須是連續的 b. 部分位址必須是連續的

c. 一定是不連續的 d. 連續或不連續都可以

3.d4. 在乙個單鏈表中,已知q所指結點是p所指結點的前驅結點,若在q和p之間插入s結點,則執行____。

a. s->next=p->next; p->next=s; b. p->next=s->next; s->next=p;

c. q->next=s; s->next=p; d. p->next=s; s->next=q;

4.c5. 在乙個單鏈表中,若p所指結點不是最後結點,在p之後插入s所指結點,則執行____。

a. s->next=p; p->next=s; b. s->next=p->next; p->next=s;

c. s->next=p->next; p=s; c. p->next=s; s->next=p;

5.b6. 在乙個單鏈表中,若刪除p所指結點的後續結點,則執行____。

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

c. p->next= p->nextd. p= p->next->next;

6.a7. 鍊錶不具備的特點是 ____ 。

a 可隨機訪問任何乙個元素b 插入、刪除操作不需要移動元素

c 無需事先估計儲存空間大小d 所需儲存空間與線性表長度成正比

7.a(此題絕對選a,因為鍊錶只能根據他的前乙個結點才能找到下乙個結點,不具備隨即訪問元素的功能)

8. 以下關於線性表的說法不正確的是 。

a 線性表中的資料元素可以是數字、字元、記錄等不同型別。

b 線性表中包含的資料元素個數不是任意的。

c 線性表中的每個結點都有且只有乙個直接前趨和直接後繼。

d 存在這樣的線性表:表中各結點都沒有直接前趨和直接後繼。

8.c9. 在乙個長度為n的順序表中刪除第i個元素,要移動個元素。如果要在第i個元素前插入乙個元素,要後移( )個元素。 n-i n-i+1

答案9.n-i; n-i+1

資料結構演算法面試題

微軟的22道資料結構演算法面試題 含答案 1 反轉乙個鍊錶。迴圈演算法。1 list reverse list l 13 return tmp 14 2 反轉乙個鍊錶。遞迴演算法。1 list resverse list l 8 return n 9 3 廣度優先遍歷二叉樹。1 void bst t...

資料結構 演算法面試題

資料結構 演算法面試100題 摘自csdn,作者july 高天的日誌 1.把二元查詢樹轉變成排序的雙向鍊錶 樹 題目 輸入一棵二元查詢樹,將該二元查詢樹轉換成乙個排序的雙向鍊錶。要求不能建立任何新的結點,只調整指標的指向。10 6 14 4 8 12 16 轉換成雙向鍊錶 4 6 8 10 12 1...

java資料結構面試題

1.棧和佇列的共同特點是 只允許在端點處插入和刪除元素 4.棧通常採用的兩種儲存結構是 線性儲存結構和鍊錶儲存結構 5.下列關於棧的敘述正確的是 d a.棧是非線性結構b.棧是一種樹狀結構c.棧具有先進先出的特徵d.棧有後進先出的特徵 6.鍊錶不具有的特點是 b a.不必事先估計儲存空間 b.可隨機...