ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การค้นหาแบบแฮช (Hashing search) 

กระบวนการค้นหาแบบ Hashing search

 

การค้นหาแบบแฮช เป็นวิธีการค้นหาข้อมูลโดยที่ใช้การแปลงคีย์ (Key) ให้เป็นตำเเหน่ง (Address) ที่อยู่ในพื้นที่เก็บข้อมูล โดยใช้เทคนิคการสร้างตารางมาเพื่อเก็บคีย์ดังกล่าว ในการเเปลงคีย์ให้เป็นแอดเดรส คือการแปลงข้อมูลให้อยู่ในตารางแอดเดรสที่เตรียมไว้ซึ่งตารางนี้เรียกว่า ตารางแฮช (Hash Table)

 

หลักการของ Hashing search 

  • เป็นวิธีการค้นหาข้อมูลที่ใช้การแปลงคีย์ (Key) ให้เป็นตำแหน่ง (Address) ที่อยู่ในพื้นที่เก็บข้อมูล โดยใช้เทคนิคการสร้างตารางมาเพื่อเก็บคีย์ดังกล่าว

  • การแปลงคีย์ให้เป็นแอดเดรส คือการแปลงข้อมูลให้ไปอยู่ในตารางแอดเดรสที่เตรียมไว้ซึ่งเรียตารางนี้ว่า ตารางแฮช (Hash Table
  • การแปลงค่านี้ต้องอาศัยฟังก์ชัน H(k) เป็นตัวช่วยในการหาแอดเรดสของค่าคีย์ k (ค่า H(k) คือแอดเรดสของคีย์ k นั้นเอง)
  • การค้นหาด้วยวิธีนี้จะไม่ขึ้นอยู่กับจำนวนข้อมูล
  • อาศัยหลักการคำนวณตำเเหน่งที่เก็บข้อมูลจากคีย์ที่กำหนด นั้นคือจะต้องหา Hashing Function ที่เหมาะสม

 

Hashing function อย่างง่าย

hash(key) = key MOD TableSize 

TableSize คือ ขนาดของตารางที่จัดเก็บ ควรเลือกค่าที่เป็นจำนวนเฉพาะ (Prime Numbers

 

ชุดตัวเลข 9,17,22,14,13,5 กำหนดแฮชชิ่งฟังก์ชันด้วยสมการ H(K) = K MOD 9

ค่าที่ได้จากแฮชชิ่งฟังก์ชันแสดงได้ดังนี้ 

H(9) = 8                           H(17) = 8                                 H(22) = 4

H(14) = 5                           H(13) = 4                                 H(8) = 8

 

คีย์ 17 ได้ตำเเหน่ง แอดเดรสตรงกับคีย์ 8 

คีย์ 22 ได้ตำเเหน่ง แอดเดรสตรงกับคีย์ 13

การแก้ปัญหาการชนกันของคีย์ (Collision) ทำโดยการเก็บคีย์ใน Hash table แบบ 

 

สรุป การค้นหาแบบแฮช จะเป็นวิธีการค้นหาข้อมูลที่ใช้การแปลงคีย์ (key) ให้เป็นตำแหน่ง(Address) ที่อยู่ในพื้นที่เก็บข้อมูล โดยใช้เทคนิคการสร้างตารางมาเพื่อเก็บคีย์ดังกล่าวการแปลงค่านี้ต้องอาศัยฟังชัน H(k) เป็นตัวช่วยในการหาแอดเดรสของค่าคีย์ k (ค่า H(k) คือ แอดเดรสของคีย์ K นั้นเอง)

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีการที่จะทำให้ extension เข้าไปอ่านไฟล์ bookmark ได้ครับ
โดย Ittichai_chupol พ 18 ธ.ค. 2019 4:18 pm บอร์ด Programming - PHP
2
44
พ 18 ธ.ค. 2019 5:09 pm โดย Ittichai_chupol
Joomla เวอร์ชั่นใหม่มาแล้ว 3.9.14 มีปรับปรุงกว่า 36 รายการ
โดย tsukasaz พ 18 ธ.ค. 2019 11:07 am บอร์ด MindPHP News & Feedback
0
46
พ 18 ธ.ค. 2019 11:07 am โดย tsukasaz
นำหน้าเว็บให้สามารถค้นหาไฟล์ PDF ได้
โดย Anonymous อ 17 ธ.ค. 2019 11:23 pm บอร์ด HTML CSS
1
60
ศ 27 ธ.ค. 2019 1:03 pm โดย mindphp
หน้าเว็บโหลดช้า ขนาดภาพไม่ได้สัดส่วน MImageoptimize Plugin ของ Joomla ช่วยได้
โดย prmindphp อ 17 ธ.ค. 2019 7:03 pm บอร์ด MindPHP News & Feedback
0
76
อ 17 ธ.ค. 2019 7:03 pm โดย prmindphp
Programmer Funny To Day : ดูให้ดีก่อนไหม ???
โดย chatee supasand อ 17 ธ.ค. 2019 6:26 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
48
อ 17 ธ.ค. 2019 6:26 pm โดย chatee supasand
วิธีการการจัดแบ่งคอลัมน์เป็น 2 คอลัมน์เมื่อทำการย่อหน้าจอ
โดย Ittichai_chupol อ 17 ธ.ค. 2019 3:31 pm บอร์ด CSS Knowledge
0
37
อ 17 ธ.ค. 2019 3:31 pm โดย Ittichai_chupol
Youtube Originals คืออะไร
โดย noppadonsk อ 17 ธ.ค. 2019 3:13 pm บอร์ด Share Knowledge
1
59
อ 14 ม.ค. 2020 3:29 pm โดย LEG
วิธีการการปิดเครื่องหมายหน้าข้อความ ของ <li>
โดย Ittichai_chupol อ 17 ธ.ค. 2019 3:08 pm บอร์ด CSS Knowledge
0
31
อ 17 ธ.ค. 2019 3:08 pm โดย Ittichai_chupol
พบปัญหา LINE AP อีกแล้ว อยากทราบสาเหตุ [2019-12][001] - Urgent
โดย thatsawan อ 17 ธ.ค. 2019 3:05 pm บอร์ด MD-CRM - Tester
6
15
พ 25 ธ.ค. 2019 2:51 pm โดย thatsawan
ภัยคุกคามด้าน Security ปี 2020
โดย noppadonsk อ 17 ธ.ค. 2019 2:40 pm บอร์ด Share Knowledge
1
64
ศ 20 ธ.ค. 2019 2:43 pm โดย LEG
Google Assistants เพิ่มล่ามแปลภาษา บนมือถือ และรองรับภาษาไทยด้วย
โดย noppadonsk อ 17 ธ.ค. 2019 2:05 pm บอร์ด Share Knowledge
0
34
อ 17 ธ.ค. 2019 2:05 pm โดย noppadonsk
แนะวิธีปล่อยเช่าคอนโดแบบไหนให้มีกำไร
โดย Pattita Dumrongsappakit อ 17 ธ.ค. 2019 12:06 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
48
อ 17 ธ.ค. 2019 12:06 pm โดย Pattita Dumrongsappakit
สอบถามหน่อยค่ะ ในการบันทึกสินทรัพย์เข้าบริษัทจะต้องใช้หลักฐานอะไรเพิ่มเติม นอกจากใบเสร็จรับเงิน/ใบกำกับภาษีคะ
โดย nnamfon.26 อ 17 ธ.ค. 2019 11:34 am บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
60
ศ 20 ธ.ค. 2019 1:10 am โดย mindphp
โปรแกรมคำนวณหาระยะเวลาในการลงทุน NPER (Number of Periods)
โดย prmindphp จ 16 ธ.ค. 2019 7:21 pm บอร์ด MindPHP News & Feedback
0
534
จ 16 ธ.ค. 2019 7:21 pm โดย prmindphp
Visual Studio 2019 อัพเดตเครื่องมือค้นหาใหม่ ค้นหาเร็วกว่าเดินหลายเท่า !!!
โดย chatee supasand จ 16 ธ.ค. 2019 5:25 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
65
จ 16 ธ.ค. 2019 5:25 pm โดย chatee supasand
ทำไมต้อง Hello Word ?????
โดย chatee supasand จ 16 ธ.ค. 2019 4:02 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
319
พ 18 ธ.ค. 2019 3:02 pm โดย tobell
วิธีการแสดงวันที่ตามรูปแบบของ joomla
โดย jamepiyawat จ 16 ธ.ค. 2019 3:38 pm บอร์ด Joomla Developing Knowledge
0
66
จ 16 ธ.ค. 2019 3:38 pm โดย jamepiyawat
ลืมรหัส เบอร์เก่าเปลี่ยน ใช้งาน hotmail ไม่ได้
โดย Anonymous ส 14 ธ.ค. 2019 11:11 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
182
จ 16 ธ.ค. 2019 10:29 am โดย บุคคลทั่วไป
วิธีการดึงข้อมูลปลั็กอินจาก field ที่ผู้ใช้กรอกในไฟล์ xml มาในไฟล์ php
โดย jamepiyawat ส 14 ธ.ค. 2019 5:56 pm บอร์ด Joomla Developing Knowledge
0
129
ส 14 ธ.ค. 2019 5:56 pm โดย jamepiyawat
สอบถามการเปลี่ยน templete บนเว็บ minndphp หน่อยค่ะ
โดย nnamfon.26 ส 14 ธ.ค. 2019 1:39 pm บอร์ด MindPHP News & Feedback
2
133
ส 14 ธ.ค. 2019 1:48 pm โดย nnamfon.26