1-1(neuds)在順序表上進行插入、刪除操作時需要移動元素的個數與待插入或待刪除元素的位置無關。 f
1-2對於順序儲存的長度為n的線性表,訪問結點和增加結點的時間複雜度分別對應為o(1)和o(n)。t
1-3(neuds)線性表的唯一儲存形式是鍊錶。 f
1-4(neuds)線性表的長度是指線性表所占用的儲存空間的大小。f
1-5線性表中每個元素都有乙個直接前趨和乙個直接後繼。f
1-6將長度分別為m,n的兩個單鏈表合併為乙個單鏈表的時間複雜度為o(m+n)。f
1-7線性表採用鏈式儲存表示時,所有結點之間的儲存單元位址可以連續也可以不連續。 t
1-8下列函式試圖求鏈式儲存的線性表的表長,是否正確?
int length ( list *ptrl )
return j;
}
f
1-9(neuds)所謂隨機訪問,就是通過首位址和元素的位序號值可以在o(1)的時間內找到指定的元素。 t
1-10迴圈鍊錶不是線性表。f
1-11在具有n個結點的單鏈表中,訪問結點和增加結點的時間複雜度分別對應為o(1)和o(n)。f
1-12若用鍊錶來表示乙個線性表,則表中元素的位址一定是連續的。f
1-13若某線性表最常用的操作是訪問任一指定序號的元素和在最後進行插入和刪除運算,則利用順序表儲存最節省時間。t
2-1陣列a[1…5,1…6]每個元素佔5個單元,將其按行優先次序儲存在起始位址為1000的連續的記憶體單元中,則元素a[5,5]的位址為:a
a.1140
b.1145
c.1120
d.1125
2-2如果最常用的操作是取第i個結點及前驅,最節省時間的儲存方式是(c)。
a.單迴圈鍊錶
b.單鏈表
c.順序表
d.雙向鍊錶
2-3以下說法錯誤的是 ( d)。
a.插入、刪除操作在鍊錶上的實現可在o(1)時間內完成
b.對於線性表來說,定位運算locateelem在順序表和單鏈表上的時間複雜度均為o(n)
c.插入、刪除操作在順序表上的實現,平均時間複雜度為o(n)
d.在鍊錶上實現讀表元運算的平均時間複雜度為o(1)
2-4與單鏈表相比,雙鏈表的優點之一是(a)。
a.順序訪問相鄰結點更加靈活
b.可隨機訪問
c.插入、刪除操作更加簡單
d.可以省略表頭指標或表尾指標
2-5資料結構反映了資料元素之間的結構關係。單鏈表是一種(d )。
a.順序儲存線性表
b.順序儲存非線性表
c.非順序儲存非線性表
d.非順序儲存線性表
2-6已知表頭元素為c的單鏈表在記憶體中的儲存狀態如下表所示:
現將f存放於1014h處,並插入到單鏈表中,若f在邏輯上位於a和e之間,則a、e、f的「鏈結位址」依次
是:da.1014h, 1010h, 1004h
b.1010h, 1014h, 1004h
c.1010h, 1004h, 1014h
d.1014h, 1004h, 1010h
2-7將長度為n的單鏈表鏈結在長度為m的單鏈表之後的演算法的時間複雜度為(c)。
a.o(1)
b.o(n)
c.o(m)
d.o(m+n)
2-8某線性表中最常用的操作是在最後乙個元素之後插入乙個元素和刪除第乙個元素,則採用什麼儲存方式最節省運算時間?c
a.僅有頭指標的單迴圈鍊錶
b.單鏈表
c.僅有尾指標的單迴圈鍊錶
d.雙鏈表
2-9將線性表la和lb頭尾連線,要求時間複雜度為o(1),且占用輔助空間盡量小。應該使用哪種結構?c
a.單迴圈鍊錶
b.單鏈表
c.帶尾指標的單迴圈鍊錶
d.帶頭結點的雙迴圈鍊錶
2-10帶頭結點的單鏈表h為空的判定條件是:a
a.h->next == null;
b.h == null;
c.h->next == h;
d.h != null;
2-11鍊錶 - 儲存密度
鍊錶的儲存密度 ▁c▁ 。
a.等於 1
b.不能確定
c.小於 1
d.大於 1
2-12已知l是帶頭結點的單鏈表,則摘除首元結點的語句是( a)。
a.l->link=l->link->link;
b.l=l->link;
c.l->link = l;
d.l=l->link->link;
2-13若某線性表最常用的操作是訪問任一指定序號的元素和在最後進行插入和刪除運算,則利用哪種儲存方式最節省時間?a
a.順序表
b.帶頭結點的雙迴圈鍊錶
c.雙鏈表
d.單迴圈鍊錶
2-14在雙向鍊錶儲存結構中,刪除p所指的結點,相應語句為:c
a.p->next=p->prior->prior; p->prior=p->next->next;
b.p->prior=p->prior->prior; p->prior->next=p;
c.p->prior->next=p->next; p->next->prior=p->prior;
d.p->next->prior=p; p->next=p->next->next;
2-15鍊錶不具有的特點是:c
a.不必事先估計儲存空間
b.所需空間與線性長度成正比
c.方便隨機訪問任一元素
d.插入、刪除不需要移動元素
2-16閱讀下列程式,該演算法的功能是(b)。
typedef
struct nodelnode;
void
fun2
(lnode *
&h) h->next=p;
h=p;
}
a.將單鏈表逆置
b.將單迴圈鍊錶逆置
c.從頭到尾遍歷單鏈表
d.從頭到尾遍歷單迴圈鍊錶
5-1已知單鏈表la和lb的元素按值非遞減排列
歸併la和lb得到新的單鏈表lc,lc的元素也按值非遞減排列
#include
using namespace std;
#define error 0
typedef
struct lnode
lnode,
*linklist;
void
initlist_l
(linklist &l)
void
input
(linklist &l,
int n)
}void
output
(linklist l)
}void
mergelist_l
(linklist &la, linklist &lb, linklist &lc)
else
} pc->next = pa ? pa : pb;
delete lb;
}int
main()
演算法與資料結構 判斷選擇程式填空 排序
1 1僅基於比較的演算法能得到的最好的 最壞時間複雜度 是o nlogn t 1 2對n個記錄進行簡單選擇排序,比較次數和移動次數分別為o n 2 和o n t 1 3對n個不同的資料採用氣泡排序進行從大到小的排序,當元素基本有序時交換元素次數肯定最多。f 1 4要從50個鍵值中找出最大的3個值,選...
演算法與資料結構 選擇判斷程式填空 檢索
1 1把陣列中元素按某種順序排列的過程叫做查詢 f 1 2將n個資料按照從小到大順序組織存放在乙個單向鍊錶中。如果採用二分查詢,那麼查詢的平均時間複雜度是o logn f 1 3在一棵二叉搜尋樹上查詢63,序列39 101 25 80 70 59 63是一種可能的查詢時的結點值比較序列。f 1 4二...
資料結構單鏈表選擇填空整理
單鏈表的每個結點中包括乙個指標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 ne...