第十四周專案二

2021-08-13 03:08:32 字數 1213 閱讀 5766

/*

檔名稱:jcy

作 者:賈存鈺

完成日期:2023年12月7日

問題描述: 已知乙個關鍵字序列為if、while、for、case、do、break、else、struct、union、int、double、float、char、long、bool,共15個字串,雜湊函式h(key)為關鍵字的第乙個字母在字母表中的序號,雜湊表的表長為26。 

(1)若處理衝突的方法採用線性探測法,請設計演算法,輸出每個關鍵字對應的h(key),輸出雜湊表,並求成功情況下的平均查詢長度。 */

#include 

#include

#define n 15

#define m 26

int h(char *s)

int main()

; int i, j, k;

char ht[m][10];

int det[m]; //存放探測次數

for(i=0; i0]='\0';

det[i]=0;

}printf("字串 key\th(key)\n");

printf("------------------------\n");

for(i=0; is[i]); //求雜湊值

printf("%s\t\t%d\n", s[i],j);

k=0; //探測次數初值

while(1)

else //衝突時,採用線性探查法求下乙個位址

}det[j]=k;

}printf("---------------------\n");

printf("雜湊表\n");

printf("位置\t字串\t探查次數\n");

printf("---------------------\n");

for(i=0; iprintf("%d\t%s\t%d\n", i, ht[i], det[i]);

printf("---------------------\n");

k=0;

for(i=0; iprintf("查詢成功情況下的平均查詢長度 %f\n", 1.0

*k/n);

return

0;}

執行過程: 

第十四周專案三

問題及 all right reserved.檔名稱 是否二叉排序樹.cpp 版本號 v1.0 問題描述 設計乙個演算法,判斷給定的二叉樹是否是二叉排序樹。輸入描述 用二叉樹的形式輸入數字 程式輸出 判斷結果 include include define maxsize 100 typedef in...

第十四周 專案1(2)

問題描述及 ifndef btree h included define btree h included 煙台大學計控學院 作 者 王力源 完成日期 2016年12月8日 問題描述 請用 共n 25據,每塊資料個數s 5作為資料表,自行構造索引表,分別對查詢85測試。endif btree h i...

第十四周專案三

檔名稱 jcy 作 者 賈存鈺 完成日期 2017 年 12 月 7 日 問題描述 實現b 樹的基本操作。基於序列完成測試。1 建立對應的3階b 樹b,用括號法輸出b樹。2 從b中分別刪除關鍵字為8和1的節點,用括號法輸出刪除節點後的b樹。輸入描述 無需輸入 程式輸出 實現各種演算法的函式的測試結果...