第一章 需求分析html
1.1 問題描述java
設計一個電話號碼查詢系統,爲來訪的客⼈提供各類信息查詢服務。函數
1.2 基本要求設計
設計每一個記錄有下列數據項:電話號碼、用戶名、地址指針
從鍵盤輸入個記錄,分別以電話號碼和用戶名爲關鍵字創建不一樣散列表存儲htm
採用必定的方法解決衝突開發
查找並顯示給定電話號碼的記錄文檔
查找並顯示給定用戶名的記錄字符串
1.3 實現提示get
設計不一樣的散列函數,嘗試不一樣類型衝突解決方案,考察平均查找長度的變化
記錄與散列表分開,達到不一樣關鍵字散列表可共享記錄
1.4 補充內容
自動讀入硬盤中的記錄,並能夠選擇存儲更新後的記錄
提供信息檢測機制,以學號做爲惟一關鍵字,對重複學號的記錄不容許插入
提供刪除功能
提供空⽩檢測機制,輸入信息任意一項爲空則不容許插入
提供格式檢測機制,輸入信息的格式不正確則不容許插入(如年齡不容許輸入字符或字符串)
採用不一樣的hash函數構建方法和不一樣的衝突處理方式
實現用戶界面
第二章 系統描述
2.1 開發語言及主要功能實現方法
本程序基於java語言寫成,配置java所需環境變量。 本程序中鏈表和hash函數均未使用java庫中已有函數,鏈表和hash函數都 是使用java語言自⼰編寫實現。 Java 語言實現鏈表和 C 語言相似,但因爲 java 沒有指針功能,所以能夠將 節點做爲單獨的類,用引用的方法實現鏈式連接。 Hash函數分別採用除留取餘法和僞隨機數法,其中僞隨機數用於字符串構造 hash函數,可根據不一樣的字符串生成不一樣的隨機數。 衝突處理分別採用線性探測法、再哈希法和鏈地址法。
參考文檔和完整的文檔和源碼下載地址: