一:問題描述
針對某個集體(比如你所在的班級)中的“人名”設計一個哈希表,使得平均查找長度不超過R,完成相對的建表和查表程序。
二:基本要求
假設人名為中國人姓名的漢語拼音形式。待填入哈希表的人名共有30個,取平均查找長度的上限為2。哈希函數用除留余數法構造,用偽隨機探測再散列法處理沖突。
三:實現提示
如果隨機函數自行構造,則應首先調整好隨機函數,使其分布均勻。人名的長度均不超過19個字符(最長的人名如:莊雙雙(ZHAGN SHUANG SHUANG)。字符的取碼方法可直接利用C語言中的tosacii函數,并可對過長的人名先作折疊處理。
四:需求分析
本演示程序是對哈希表的建立和查找進行演示,主要數據來自自己編寫的人名“A~~Z”等字母組成,拼音由開頭的字母組成的詞組,查找時用偽隨機探測再散列法處理沖突。隨機產生人名的位置。具體的程序內容在源程序里面有比較詳細的解析。程序的運行在下列有詳細的介紹。
標簽:
上傳時間:
2015-06-22
上傳用戶:wab1981