第15周專案1 1驗證演算法

2021-07-25 05:52:43 字數 1245 閱讀 3280

問題:

/* 

* 檔名稱:123.cpp

* 作 者:王靖淇

* 完成日期:2023年12月8日

* 版 本 號:v1.0

的雜湊表,裝填因子定為0.8,雜湊函式為h(k)=key%p,p=11,採用線性探查法解決衝突。測試中:

(1)輸出建立的雜湊表;

(2)完成關鍵字為29的元素的查詢;

(3)在上述雜湊表中刪除關鍵字為77的元素,再顯示雜湊表。

* 輸入描述:無

* 程式輸出:測試資料

*/

**:

#include #define maxsize 100         //定義最大雜湊表長度

#define nullkey -1 //定義空關鍵字值

#define delkey -2 //定義被刪關鍵字值

typedef int keytype; //關鍵字型別

typedef char * infotype; //其他資料型別

typedef struct

hashdata;

typedef hashdata hashtable[maxsize]; //雜湊表型別

void insertht(hashtable ha,int &n,keytype k,int p) //將關鍵字k插入到雜湊表中

else //發生衝突時採用線性探查法解決衝突

while (ha[adr].key!=nullkey && ha[adr].key!=delkey);

ha[adr].key=k;

ha[adr].count=i;

}n++;

}void createht(hashtable ha,keytype x,int n,int m,int p) //建立雜湊表

{ int i,n1=0;

for (i=0; i

執行結果:

知識點總結:

運用了通過除留餘數法建立雜湊表,在雜湊表中利用關鍵字碼查詢元素以及刪除關鍵字的演算法。

學習心得:

雜湊表是一種重要的雜湊結構,需要認真掌握。

第11周 專案1 1 驗證演算法

問題及 檔名稱 test.cpp 作 者 焦夢真 完成日期 2015年11月9日 版 本 號 v1.0 1 標頭檔案 btree.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 ifndef btree h included define btree h included defi...

第15周 專案1 驗證演算法

問題及 檔名稱 test.cpp 作 者 焦夢真 完成日期 2015年12月7日 版 本 號 v1.0 問題描述 認真閱讀並驗證雜湊表實施查詢的相關演算法,寫程式建立序列的雜湊表,裝填因子定為0.8,雜湊函式為h k key p,p 11,採用線性探查法解決衝突。測試中 1 輸出建立的雜湊表 2 完...

第15周專案1驗證演算法

問題及 檔名稱 專案1.cpp 完成日期 2015.12.11 問題描述 1 認真閱讀並驗證雜湊表實施查詢的相關演算法,寫程式建立序列的雜湊表,裝填因子定為0.8,雜湊函式為h k key p,p 11,採用線性探查法解決衝突。測試中 1 輸出建立的雜湊表 2 完成關鍵字為29的元素的查詢 3 在上...