Binary search โดยอาศัยวิธีการหารแบบค่อยเป็นค่อยไป ความซับซ้อนของเวลาที่ต่ำกว่ามากของ "O(log n)" คุณสามารถเลือก Binary Search ได้โดยใช้อัลกอริธึมแบบวนซ้ำหรืออัลกอริธึมแบบเรียกซ้ำ แต่ทั้งคู่อาจทำงานเดียวกันสำเร็จ
การค้นหาใดที่สามารถเรียกซ้ำได้
Binary search เป็นอัลกอริธึมแบบเรียกซ้ำโดยเนื้อแท้: เราสามารถนำมาใช้ซ้ำได้ แต่มันสมเหตุสมผลกว่าที่อัลกอริธึมจะทำแบบเรียกซ้ำ (แม้ว่าสำหรับการใช้งานบางอย่าง คุณอาจเลือกที่จะทำซ้ำ ด้วยเหตุผลด้านประสิทธิภาพ) การค้นหาแบบไบนารีทำงานโดยแยกชุดข้อมูลที่เรียงลำดับออกเป็นสองส่วน
อัลกอริธึมการค้นหาที่มีประสิทธิภาพที่สุดคืออะไร
อัลกอริทึมการค้นหาแบบไบนารี ทำงานบนหลักการของการแบ่ง & พิชิต และถือเป็นอัลกอริธึมการค้นหาที่ดีที่สุดเนื่องจากความเร็วในการค้นหาที่เร็วขึ้น (หากข้อมูลอยู่ในรูปแบบที่เรียงลำดับแล้ว). การค้นหาแบบไบนารีเรียกอีกอย่างว่าการค้นหาแบบครึ่งช่วงหรือการค้นหาแบบลอการิทึม
อัลกอริทึมการค้นหาแบบไบนารีเป็นแบบเรียกซ้ำหรือไม่
การค้นหาไบนารีคือ อัลกอริธึมแบบเรียกซ้ำ … ค่าขององค์ประกอบตรงกลางกำหนดว่าจะยุติอัลกอริทึม (พบคีย์) ค้นหาครึ่งซ้ายของรายการซ้ำๆ หรือค้นหาครึ่งทางขวาของรายการซ้ำๆ
วิธีใดดีที่สุดสำหรับการค้นหา
อัลกอริธึมการค้นหาที่ดีที่สุด
- ค้นหาเชิงเส้นที่มีความซับซ้อน O(n)
- การค้นหาไบนารีที่มีความซับซ้อน O(log n)
- ค้นหาโดยใช้ค่า HASH ที่มีความซับซ้อน O(1)