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