1-1把陣列中元素按某種順序排列的過程叫做查詢 。 f
1-2將n個資料按照從小到大順序組織存放在乙個單向鍊錶中。如果採用二分查詢,那麼查詢的平均時間複雜度是o(logn)。 f
1-3在一棵二叉搜尋樹上查詢63,序列39、101、25、80、70、59、63是一種可能的查詢時的結點值比較序列。 f
1-4二叉搜尋樹的查詢和折半查詢的時間複雜度相同。f
1-5在雜湊中,函式「插入」和「查詢」具有同樣的時間複雜度。 t
1-6在雜湊表中,所謂同義詞就是具有相同雜湊位址的兩個元素。 t
1-7即使把2個元素雜湊到有100個單元的表中,仍然有可能發生衝突。t
1-8(neuds)由順序表和單鏈表表示的有序表均可使用二分查詢法來提高查詢速度。 f
1-9在雜湊表中,所謂同義詞就是被不同雜湊函式對映到同一位址的兩個元素。 f
2-1已知乙個長度為16的順序表l,其元素按關鍵字有序排列。若採用二分查詢法查詢乙個l中不存在的元素,則關鍵字的比較次數最多是:b
a.4b.5
c.6d.7
2-2用二分查詢從100個有序整數中查詢某數,最壞情況下需要比較的次數是:a
a.7b.10
c.50
d.99
2-4設有乙個已排序的線性表(長度》=2),分別用順序查詢法和二分查詢法找乙個與k相等的元素,比較的次數分別是s和b,在查詢不成功的情況下,s和b的關係是(d)。
a.s=b
b.sc.s>b
d.s>=b
2-5在有n(n>1000)個元素的公升序陣列a中查詢關鍵字x。查詢演算法的偽**如下所示:
k =0;
while
( kif( k
==x ) 查詢成功;
else
if( k-
1==x ) 查詢成功;
else
if( k-
2==x ) 查詢成功;
else 查詢失敗;
本演算法與二分查詢(折半查詢)演算法相比,有可能具有更少比較次數的情形是: b
a.當x不在陣列中
b.當x接近陣列開頭處
c.當x接近陣列結尾處
d.當x位於陣列中間位置
2-6在雜湊表中,所謂同義詞就是:b
a.兩個意義相近的單詞
b.具有相同雜湊位址的兩個元素
c.被對映到不同雜湊位址的乙個元素
d.被不同雜湊函式對映到同一位址的兩個元素
2-7在下列查詢的方法中,平均查詢長度與結點個數無關的查詢方法是:c
a.順序查詢
b.二分法
c.利用雜湊(雜湊)表
d.利用二叉搜尋樹
2-8設雜湊表的位址區間為[0,16],雜湊函式為h(key)=key%17。採用線性探測法處理衝突,並將關鍵字序列依次儲存到雜湊表中。元素59存放在雜湊表中的位址是: d
a.8b.9
c.10
d.11
2-9將元素序列按順序插入乙個初始為空的、大小為11的雜湊表中。雜湊函式為:h(key)=key%11,採用線性探測法處理衝突。問:當第一次發現有衝突時,雜湊表的裝填因子大約是多少? b
a.0.27
b.0.45
c.0.64
d.0.73
2-10給定雜湊表大小為11,雜湊函式為h(key)=key%11。採用平方探測法處理衝突:hi(k)=(h(k)±i2)%11將關鍵字序列依次插入到雜湊表中。那麼元素61存放在雜湊表中的位置是:a
a.5b.6
c.7d.8
2-11給定雜湊表大小為11,雜湊函式為h(key)=key%11。按照線性探測衝突解決策略連續插入雜湊值相同的4個元素。問:此時該雜湊表的平均不成功查詢次數是多少?c
a.1b.4/11
c.21/11
d.不確定
2-12現有長度為 7、初始為空的雜湊表ht,雜湊函式h(k)=k%7,用線性探測再雜湊法解決衝突。將關鍵字 22, 43, 15 依次插入到ht後,查詢成功的平均查詢長度是: c
a.1.5
b.1.6
c.2d.3
2-13將10個元素雜湊到100000個單元的雜湊表中,是否一定產生衝突?b
a.一定會
b.可能會
c.一定不會
d.有萬分之一的可能會
5-1下列**的功能是利用雜湊函式hash將乙個元素插入到雜湊表ht中。其中list型別的結點包含element型別的項item、以及乙個next指標。如果插入成功,則函式返回1,否則返回0。
int
insert
(struct element item, list_pointer ht)
}if(ret)
return ret;
}
5-2本題要求實現折半查詢的遞迴查詢操作。 例如對於下圖的有序表:
輸入樣例:
2
2170
輸出樣例:
21 is found
70 is not found
###程式如下:
#include
#include
typedef
int keytype;
typedef
struct
sstable;
void
creatsstable
(sstable *st)
;/*有序表建立,由裁判實現,細節不表*/
intbisearch
(sstable st,keytype e,
int low,
int high)
;int
main()
return0;
}int
bisearch
(sstable st,keytype e,
int low,
int high)
演算法與資料結構 判斷選擇程式填空 排序
1 1僅基於比較的演算法能得到的最好的 最壞時間複雜度 是o nlogn t 1 2對n個記錄進行簡單選擇排序,比較次數和移動次數分別為o n 2 和o n t 1 3對n個不同的資料採用氣泡排序進行從大到小的排序,當元素基本有序時交換元素次數肯定最多。f 1 4要從50個鍵值中找出最大的3個值,選...
演算法與資料結構 判斷選擇程式填空 線性表
1 1 neuds 在順序表上進行插入 刪除操作時需要移動元素的個數與待插入或待刪除元素的位置無關。f 1 2對於順序儲存的長度為n的線性表,訪問結點和增加結點的時間複雜度分別對應為o 1 和o n t 1 3 neuds 線性表的唯一儲存形式是鍊錶。f 1 4 neuds 線性表的長度是指線性表所...
資料結構單鏈表選擇填空整理
單鏈表的每個結點中包括乙個指標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...