課程:《程序設計與數據結構》
班級: 1723
姓名: 譚鑫
學號: 20172305
實驗教師:王志強老師
測試日期:2018年10月19日
必修/選修: 必修html
H(k) = k % 11
結果圖片(線性探查)錯誤位置:
java
- 錯誤分析:忘記線性探測再散列的增量序列是在總體的尾部仍是在取餘前,因此按照在總體的尾部進行計算致使算錯。
- 線性探測再散列課堂講解PPT圖片:
結果圖片(鏈式探查):
算法
鏈地址法的優勢數據結構
- (1)鏈地址法處理衝突簡單,且無堆積現象,即非同義詞決不會發生衝突,所以平均查找長度較短;
- (2)因爲鏈地址法中各鏈表上的結點空間是動態申請的,故它更適合於造表前沒法肯定表長的狀況;
- (3)開放定址法爲減小衝突,要求裝填因子α較小,故當結點規模較大時會浪費不少空間。而鏈地址法中可取α≥1,且結點較大時,鏈地址法中增長的指針域可忽略不計,所以節省空間;
- (4)在用鏈地址法構造的散列表中,刪除結點的操做易於實現。只要簡單地刪去鏈表上相應的結點便可。而對開放地址法構造的散列表,刪除結點不能簡單地將被刪結點的空間置爲空,不然將截斷在它以後填人散列表的同義詞結點的查找路徑。這是由於各類開放地址法中,空地址單元(即開放地址)都是查找失敗的條件。所以在用開放地址法處理衝突的散列表上執行刪除操做,只能在被刪結點上作刪除標記,而不能真正刪除結點。
鏈地址法的缺點函數
- 指針須要額外的空間,故當結點規模較小時,開放定址法較爲節省空間,而若將節省的指針空間用來擴大散列表的規模,可以使裝填因子變小,這又減小了開放定址法中的衝突,從而提升平均查找速度。
上課沒有好好記筆記,跟住老師的步伐,致使最後忘記公式的內容,進行算錯補寫博客的。測試