11 3 除法雜湊法

2021-05-27 22:21:43 字數 1096 閱讀 9934

#include #include #include #include #include #define slot_size 20000		//雜湊槽的大小

#define arr_size 100000 //動態關鍵字集合

#define min_size 0 //動態關鍵字集合的最小值

#define max_size 999

#define total_size 999999 //動態關鍵字集合的最大值

using namespace std;

struct node

;long* arr_set;

node link_hash[slot_size];

long suc_count=0;

long unsuc_count=0;

/** 除法雜湊函式

*/long hash_function(long key)

/** 產生不重複的自定義範圍的隨機數

*/long* ran_arr(long size, long min=0, long max=999)

/** 查詢函式

*/bool hash_find(long k)

} return true;}/*

* 刪除函式

*/bool hash_delete(long k)

else return false;

} pre_node->next=temp_node->next;

} return true;}/*

* 列印雜湊表的函式,可以設定列印的開始索引到結束索引

*/void print_hash(long start,long end)

cout<>arr_size;

arr_set=ran_arr(arr_size,min_size,max_size);//to generate arr_size from 1 to 1000 random number

//print_arr(arr_set,arr_size);

//初始化雜湊表的槽

for(long n=0;n>a;

return 0;

}

除法雜湊函式之雜湊值問題

演算法導論對於除法雜湊函式的描述。其中涉及到一小點數學問題 k mod m時,m之所以為素數時為了使得k在m所在的素數域上保持唯一性 根據尤拉定理和費馬小定理 雜湊函式 h k k mod m其中m的取值如是描述 應用除法雜湊法的時候,要避免選擇m的某些值,例如,m不應該為2 的冪 盡量取素數,並且...

雜湊衝突之雜湊法

雜湊碰撞 雜湊衝突 不同的key值經過雜湊函式hash key 處理以後可能產生相同的值雜湊位址,我們稱這種情況為雜湊衝突。任意的雜湊函式都不能避免產生衝突。閉雜湊法 線性探測 void insert1 int x pos if pos v.capacity s pos exist v pos x ...

雜湊拉鍊法(雜湊桶)

昨天寫了雜湊的開放定址法的部落格,今天我們要說的是拉鍊法,還有乙個名字叫雜湊桶。雜湊桶要做的就是,之前我們用的開放定址法,通過將資料對映到陣列中來實現雜湊。這裡每個陣列的位置只能存放乙個資料,如果衝突的話會繼續往下找找到空的位置然後放進去,但是其實大家都能感覺出來上乙個 很簡單,也很扯,感覺實現起來...