Skip to main content

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

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

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

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

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

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