資料結構單鏈表選擇填空整理

2021-10-04 15:53:00 字數 1708 閱讀 5587

單鏈表的每個結點中包括乙個指標next,它指向該結點的後繼結點。現要將指標q指向的新結點插入到指標p指向的單鏈表結點之後,下面的操作序列中(c)是正確的。 (2分)

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

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

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

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

單鏈表l為空的判定條件是:

帶頭結點的單鏈表的l指向頭結點

則l->nextnull

不帶頭結點的單鏈表的l指向第乙個結點

則lnull

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

a. 雙鏈表

b. 單迴圈鍊錶

c. 帶頭結點的雙迴圈鍊錶

d. 順序表

線性表最常用得操作是訪問任一指定序號的元素和在最後進行插入和刪運算;進行任意位置訪問,這個最省時省力的就是陣列了,也就是順序表。

而且元素是在最後的位置進行插入和刪除運算,也就不涉及其他元素進行位移的額外操作,最多涉及的就是去擴充套件空間了。

所以答案選擇d順序表

在雙向鍊錶儲存結構中,刪除p所指的結點,相應語句為:c(3分)

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

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

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

d. p->next=p->prior->prior; p->prior=p->next->next;

1.將長度分別為m,n的兩個單鏈表合併為乙個單鏈表的時間複雜度為o(m+n)。 f

時間複雜度為o(1),如果是兩個有序鍊錶合成乙個有序鍊錶的時間複雜度為o(m + n)

順序儲存的線性表不支援隨機訪問。f

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

2.在乙個設有頭指標和尾指標的單鏈表中,執行刪除該單鏈表中最後乙個元素的操作與鍊錶的長度無關。f(刪除乙個節點,需要知道他的前驅)

3.線性表的順序儲存結構是一種( 隨機訪問)儲存結構。

4.在單鏈表中,要刪除某一指定結點,必須先找到該結點的()a。 (2分)

a. 直接前驅

b. 自身位置(錯的)

c. 直接後繼

d. 直接後繼的後繼

若某錶最常用的操作是在最後乙個結點之後插入乙個結點或刪除最後乙個結點。則採用哪種儲存方式最節省運算時間? (d)(2分)

a. 單鏈表

b. 雙鏈表

c. 單迴圈鍊錶

d. 帶頭結點的雙迴圈鍊錶

原因:帶頭結點的雙迴圈鍊錶可以直接找到他的直接前驅,從而進行插入和刪除7.

6.在乙個長度為n的順序表中刪除第i個元素,需要向前移動( a)個元素。 (2分)

a. n-i

b. n-i+1(順序表的插入移動)

c. n-i-1

d. i-1

某線性表中最常用的操作是在最後乙個元素之後插入乙個元素和刪除第乙個元素,則採用什麼儲存方式最節省運算時間?(b) (2分)

a. 單鏈表

b. 僅有尾指標的單迴圈鍊錶

c. 僅有頭指標的單迴圈鍊錶

d. 雙鏈表

資料結構單鏈表

初學資料結構,貼段自己編寫的單鏈表程式,希望自己能夠一直以強大的學習熱情持續下去!自勉!2012年3月30日 於大連 include using namespace std typedef struct node linklist,node linklist makelist int n void ...

資料結構 單鏈表

今天浪費了好多時間,也許是心裡想著明天的考試吧 可自己也知道這次的考試,自己畢竟過不了了,只好等到今年11月份,想想那時自己已經大三了 還有那麼多時間嗎!很懊惱今天不知怎麼回事,感嘆環境真的可以影響乙個人,真的可以 把今天的學習筆記寫下來,沒有進行好好的整理,這回單鏈表的功能較多,操作比較散,最後乙...

資料結構 單鏈表

實現乙個單鏈表 1 查詢 查詢第index個節點 查詢指定的元素 2 插入 將指定的元素插入到第index個節點上 3 刪除 將第index個節點刪除 規律 刪除和新增元素前務必儲存兩個元素的位址引用資訊 public class mylinkedlist 記錄鍊錶結構的頭結點位址引用 privat...