Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การแฮชแบบ Open Addressing ในโครงสร้างข้อมูล


Hashing by Open Addressing

Open Addressing เป็นเทคนิคแก้ไข Collision อีกวิธีหนึ่ง ต่างจาก Chaining ที่ไม่ได้แทรกข้อมูลในโครงสร้างอื่น แต่วางข้อมูลใน Hash Table เอง ขนาด Hash Table ต้องใหญ่กว่าจำนวน Keys

3 วิธียอดนิยม

  • Linear Probing
  • Quadratic Probing
  • Double Hashing

หลักการทำงาน

ใช้ Hash Function ปกติ ถ้าที่ว่าง ใส่เลย ถ้าไม่ว่าง หาที่ว่างอีกแห่งด้วยสมการ:

  • Linear Probing: สมการเชิงเส้น
  • Quadratic Probing: สมการกำลังสอง
  • Double Hashing: ใช้ Hash Function ตัวที่ 2 (Secondary Hash Function) เมื่อชนกัน เท่านั้น