อัลกอริทึมการค้นหาแบบไดนามิกหรือที่เรียกว่าอัลกอริทึม "ค้นหาตามที่คุณพิมพ์" มักใช้เพื่อใช้งานคุณลักษณะต่างๆ เช่น การเติมข้อความอัตโนมัติในแถบค้นหา อัลกอริทึมนี้ให้คำแนะนำแบบเรียลไทม์ตามอินพุตของผู้ใช้และข้อมูลที่มีอยู่
มันทำงานอย่างไร
- เริ่มด้วยชุดข้อมูลที่มีรายการสินค้า(เช่น คำ ชื่อ หรือผลิตภัณฑ์)
- ขณะที่ผู้ใช้พิมพ์อักขระแต่ละตัว ให้อัปเดตคำค้นหา
- กรองชุดข้อมูลตามคำค้นหาปัจจุบัน
- แสดงผลการกรองแก่ผู้ใช้แบบเรียลไทม์
ตัวอย่าง
พิจารณาชุดข้อมูลของภาษาโปรแกรม: ["C", "C++", " Java ", " Python ", " JavaScript ", " Ruby ", " Swift "]
- ผู้ใช้พิมพ์ "C" ผลลัพธ์ที่กรอง: ["C", "C++"]
- ผู้ใช้พิมพ์ "C++" ผลลัพธ์ที่กรอง: ["C++"]
- ประเภทผู้ใช้ " Java " ผลลัพธ์ที่กรอง: [" Java ", " JavaScript "]
- ผู้ใช้พิมพ์ "Py" ผลลัพธ์ที่กรอง: [" Python "]
- ผู้ใช้ประเภท "Jav" ผลลัพธ์ที่กรอง: [" Java ", " JavaScript "]
ตัวอย่างโค้ดในภาษา C++
ในตัวอย่างนี้ dynamicSearch
ฟังก์ชันใช้ชุดข้อมูลของภาษาโปรแกรมและคิวรีผู้ใช้เป็นอินพุต จะส่งกลับคำแนะนำตามแบบสอบถามปัจจุบัน ขณะที่ผู้ใช้พิมพ์อักขระ อัลกอริทึมจะกรองชุดข้อมูลและแสดงคำแนะนำตามเวลาจริง
หมายเหตุ: การใช้งานจริงของการค้นหาแบบไดนามิกอาจมีความซับซ้อนมากขึ้น ซึ่งเกี่ยวข้องกับเทคนิคต่างๆ เช่น โครงสร้างสามชั้น หรือการจัดทำดัชนีที่มีประสิทธิภาพสำหรับชุดข้อมูลขนาดใหญ่