計概16-05雜湊-公職試題
【選擇題】
【B】01.一個具有十個空間(Entries)的雜湊表(Hash Table),已知資料的鍵值(Keys)為24、37、54、66、97、124、224,透過「除以10取餘數」的方法作為雜湊函數,且以分別鏈結法(Separate
Chaining)處理碰撞(Collision),此雜湊表進行上述資料的存放時,將發生幾次碰撞? (A)3
(B)4 (C)5 (D)6。[109地方四等資處]
h(24) = 24 mod 10 = 4
h(37) = 37 mod 10 = 7
h(54) = 54 mod 10 = 4
h(66) = 66 mod 10 = 6
h(97) = 97 mod 10 = 7
h(124) = 124 mod 10 = 4
h(144) = 144 mod 10 = 4
54、124、224各碰撞24一次,97碰撞37一次,共碰撞4次。
【A】02.有關密碼學的雜湊函數(Hash
Function),下列敘述何者正確? (A)安全的雜湊函數具有單向函數(One-way Function)特性,且能抵抗碰撞攻擊(Collision Resistance) (B)AES與SHA都是密碼學上的安全雜湊函數,而AES安全度更高 (C)是具有金鑰(Key)的一種密碼元件 (D)是一種能夠具備驗證資料來源能力的密碼技術。[110地方四等電子]
(B)AES是對稱式加密法。(C)雜湊函數不需密鑰。(D)雜湊不可反逆,無法由輸出反推輸入值。
【B】03.如果要儲存約10000個數字供後續搜尋,下列那種資料結構的平均搜尋速度最快? (A)二元搜尋樹(binary search tree) (B)雜湊表(hash table) (C)佇列(queue) (D)堆疊(stack)。[110身心四等]
雜湊搜尋法:應用資料中某欄位之值代入事先設計之雜湊函數,計算資料儲存位置,應用時以資料鍵值(key value)轉換。
【D】04.使用雜湊函式可隨機存取檔案中的一筆紀錄,但可能產生相同位址,導致碰撞。下列何者不能解決位址碰撞的問題?
(A)當產生相同位址時,可將後來發生的位址之紀錄移到另一個未被占據的位址處
(B)當產生相同位址時,可利用鏈結串列解決法
(C)當產生相同位址時,可利用雜湊桶解決法 (D)當產生相同位址時,可將後來發生的位址之紀錄覆蓋到原來被占據的位址處。[110國安五等]
不能直接覆蓋,否則原來的資料會消失。
【C】05.關於雜湊演算法(Hash
function)的性質,下列何者正確? (A)RC4為一種雜湊演算法 (B)雜湊演算法可加密資料,提供保密性
(C)給定SHA3雜湊演算法的輸出值,目前尚無有效率的方法反推其輸入值 (D)目前尚無有效率的方法,找到兩個不同的輸入有相同的MD5值。[110普考電子]
雜湊演算法之不可反逆特性,無法由輸出反推輸入值。
【C】06.保護資料完整性最基本的方式就是使用密碼學的雜湊函數。請問下列關於雜湊函數的描述,何者錯誤?
(A)修改輸入中的任一字元都可以得到完全不相干的輸出
(B)雜湊函數是不可逆的函數 (C)不同的輸入一定可以得到不同的輸出 (D)相同的輸入一定可以得到相同的輸出。[111身心五等]
不同的輸入不一定可以得到不同的輸出
【D】07.下列那一個結構,採取空間換取時間的策略,藉以提昇在該結構中搜尋資料、新增、刪除的時間複雜度?
(A)二元搜尋樹(Binary
Search Tree) (B)紅黑樹(Red-Black
Tree) (C)有序鏈結串列(Sorted
Linked List) (D)雜湊表(Hash
Table)。[113原民四等]
雜湊表(Hash table)是將鍵(Key)值透過雜湊函式(hash
function)映射(map)到其在表中的對應位置,加快搜尋速度。
【C】08.若一個具有10個空間的雜湊表(Hash Table)tb,透過「除以10取餘數」的方法作為雜湊函數,且以線性探測法(Linear
Probing)處理碰撞(Collision),將資料鍵值(Key)32、14、72、53、95、64、86依序儲存至雜湊表tb,則資料鍵值86儲存的位址為何? (A)tb[6] (B)tb[7] (C)tb[8]
(D)tb[9]。[113關務四等]
32 % 10=2 → 存tb[2]
14 % 10=4 → 存tb[4]
72 % 10=2 → 存tb[2] → 和32碰撞,位址+1存tb[3]
53 % 10=3 → 存tb[3] → 和72碰撞,位址+1存tb[4] → 和14碰撞,位址+1存tb[5]
95 % 10=5 → 存tb[5] → 和53碰撞,位址+1存tb[6]
64 % 10=4 → 存tb[4] → 和14碰撞,位址+1存tb[5] → 和53碰撞,位址+1存tb[6] → 和95碰撞,位址+1存tb[7]
86 % 10=6 → 存tb[6] → 和95碰撞,位址+1存tb[7] → 和64碰撞,位址+1存tb[8]
tb[0]=空,tb[1]=空,tb[2]=32,tb[3]=72,tb[4]=14,tb[5]=53,tb[6]=95,tb[7]=64,tb[8]=86,tb[9]=空
留言
張貼留言