การค้นหาแบบไบนารีคืออะไร

สมมติว่าคนมีสิ่งของที่มีขนาดใหญ่มากและจัดเรียงให้เรียงกันเป็นแถวอย่างเป็นระเบียบ บุคคลนั้นสามารถค้นหาตำแหน่งของวัตถุที่อยู่ในแถวได้อย่างรวดเร็วโดยใช้การค้นหาแบบไบนารี่ การค้นหานี้ทำได้โดยการตรวจสอบรายการกลางในแถวและหากวัตถุกลางไม่ได้เป็นรายการที่ต้องการหลังจากนั้นค้นหาเพียงครึ่งเดียวของแถวที่รายการนั้นอาจเป็นได้ บุคคลนั้นจะรู้ว่าต้องดูต่อไปครึ่งเพราะรายการเรียงตามลำดับ ทำสองขั้นตอนเหล่านี้ซ้ำแล้วซ้ำอีกบนครึ่งที่เล็กกว่าและเล็กกว่าจนกว่าจะพบรายการหรือไม่มีที่เหลือให้ดู

ในสาขาวิทยาศาสตร์คอมพิวเตอร์การค้นหาแบบไบนารี่เป็นกระบวนการทีละขั้นตอนที่ค้นหาตำแหน่งหรือดัชนีของรายการในชุดข้อมูลเรียงลำดับตามลำดับ มันทำสิ่งนี้ได้สำเร็จโดยการเปรียบเทียบค่าที่ทราบกับองค์ประกอบกลางที่กำหนดของอาร์เรย์และหากไม่เทียบเท่าให้ จำกัด องค์ประกอบองค์ประกอบกลางซ้ำ ๆ เพื่อเปรียบเทียบกับครึ่งที่เล็กกว่าของชุดที่เกี่ยวข้องจนกว่าจะได้รับความสมดุลหรือรายการหมดลง

การค้นหาแบบไบนารี่บางครั้งเรียกว่าการค้นหาแบบครึ่งช่วงเวลานั้นเร็วกว่าการค้นหาแบบลำดับขั้นพื้นฐานที่เริ่มต้นที่ปลายด้านหนึ่งของรายการและเปรียบเทียบแต่ละไอเท็มไปตามทางจนกว่าจะพบการแข่งขันหรือจนกระทั่งการค้นหาสิ้นสุด รายการ. หากบุคคลมี 100 รายการในแถวและรายการสุดท้ายคือรายการที่ถูกค้นหาการค้นหาตามลำดับจะใช้การเปรียบเทียบ 100 รายการ อย่างไรก็ตามวิธีการแบ่งออกเป็นสองส่วนนั้นต้องการการเปรียบเทียบเพียงเจ็ดรายการเท่านั้นก่อนที่จะพบรายการ เห็นได้ชัดว่ามีประสิทธิภาพมากกว่าการค้นหาตามลำดับ

ข้อเสียเปรียบที่ใหญ่ที่สุดในการค้นหาแบบไบนารีคือรายการจะต้องเรียงลำดับเพื่อให้การค้นหานี้ทำงาน การเรียงลำดับรายการต้องใช้เวลา การเรียงลำดับจากนั้นใช้การค้นหาประเภทนี้อาจใช้เวลามากกว่าการค้นหาประเภทอื่นในตอนแรก

ความสามารถในการใช้ข้อมูลโดยเฉพาะจากชุดข้อมูลขนาดใหญ่มากเป็นสิ่งสำคัญสำหรับการทำงานหลายอย่างในชีวิต สาขาวิชาวิทยาการคอมพิวเตอร์เกี่ยวข้องกับปัญหาหลายประเภทรวมถึงการค้นหาวิธีที่มีประสิทธิภาพในการค้นหาข้อมูลเพื่อให้ได้ผลลัพธ์ที่เป็นประโยชน์ การค้นหาแบบไบนารี่เป็นเพียงหนึ่งในอัลกอริธึมที่มีอยู่มากมายสำหรับการค้นหาผ่านข้อมูล