基本的字典操作平均需要o(1)的時間
著重通過「鏈結」解決「衝突」
關鍵字的全域較小時,直接定址簡單而有效。全域中每個關鍵字都對應於陣列的乙個下標值,實際關鍵字小於全域,僅決定表中的一些槽(slot)。另一些屬於全域卻不屬於實際關鍵字的槽則包含nil。
以上每個操作都需要o(1)的時間。//字典操作
direct-address
-search(t,k)
return t(k)
direct-address
-insert(t,x)
t(x,key) = x
direct-address
-delete(t,x)
t(x,key) = nil
《演算法導論》第11章 雜湊表 1 直接定址表
一 直接定址表 關鍵字集合u 實際的關鍵字集合k。用乙個陣列t 0.m 1 其中每個位置對應u中的乙個關鍵字。直接定址表的問題 1 如果u很大,要儲存 u 大小的一張表t有點不實際。2 實際儲存的關鍵字集合k相對u來說可能很小,因而分配給t的大部分空間都要浪費掉。二 位向量 位向量 bit vect...
《演算法導論》筆記 第11章 11 1 直接定址表
當關鍵字的全域u比較小時,直接定址。11.1 1 考慮由乙個長度為m的直接定址表t表示的動態集合s。給出乙個查詢s的最大元素的演算法過程。所給的過程在最壞情況下的執行時間是什麼?遍歷動態集合中的所有元素o m 11.1 2 位向量是一種僅包含0和1的陣列。長度為m的位向量所佔空間要比包含m個指標的陣...
直接定址表
1 描述了單元長度的標號 後面沒有冒號的標號可以同時描述記憶體位址和單位長度。因為這種標號包含了對單元長度的描述,所以,在指令中,它可以代表乙個段中的記憶體單元。稱為資料標號。2 一般來說,我們不會在 段中定義資料,而是將資料定義到其他段中。注意 1.在後面加有 的位址標號,只能在 段中使用,不能在...