การค้นหาแบบ Linear และ imbone การค้นหาเป็นอัลกอริทึมทั่วไปที่ใช้ค้นหาองค์ประกอบในรายการ การเข้าใจจํานวนที่คาดหวังของอัลกอริทึมแต่ละแบบจะช่วยให้สามารถเลือกวิธีการค้นหาที่มีประสิทธิภาพมากที่สุด สําหรับสถานการณ์เฉพาะ บทความนี้เปรียบเทียบสิ่งที่คาดหวังในวิธีการค้นหาไบนารี
สืบค้นเมื่อ Linear
การ เปรียบ เทียบ ที่ คาด ว่า จะ เกิด ขึ้น นั้น ขึ้น อยู่ กับ ว่า เป้า หมาย นั้น อยู่ ที่ ไหน และ ตําแหน่ง ของ มัน ใน รายการ หรือ ไม่.
ถ้ารายการมี en สมาชิก และเป้าหมายมีโอกาสอยู่ที่ตําแหน่งใด ๆ คาดว่าจะมีการเปรียบเทียบคือ:
[FLT: 0] การเปรียบเทียบที่โดดเด่น = (n+1) / 2
เพราะโดยเฉลี่ยแล้ว การค้นหาจะพบเป้าหมาย ได้ครึ่งทางผ่านรายการ
สืบค้นเมื่อไบนารี
การ ค้น หา แบบ ไบนารี จะ ทํา ให้ มี การ แบ่ง ประเภท โดย แบ่ง ช่วง เวลา การ ค้น ครั้ง แล้ว ครั้ง เล่า เป็น ครึ่ง.
ในกรณีที่ดีที่สุด เป้าหมายอยู่ที่ตรงกลาง จําเป็นต้องเปรียบเทียบเพียงครั้งเดียว กรณีที่เลวร้ายที่สุดคือต้องประมาณ [FLT: 0] log2 n เปรียบเทียบ (FLT:3].
สมมุติว่าเป้าหมายมีโอกาสอยู่ที่ตําแหน่งใด ๆ พอ ๆ กัน, จํานวนคนที่จะเปรียบเทียบนั้นประมาณ:
[FLT: 0] การเปรียบเทียบที่โดดเด่น ⁇ Llog2 n
สรุปการเปรียบเทียบ
- การค้นหาแบบเส้นตรงมีการนับเปรียบเทียบที่คาดหวัง (n+1) / 2.
- 2552. สืบค้นเมื่อเทียบกับจํานวนที่คาดหวังการเปรียบเทียบของล็อก [FLT: 0]2 n.
- การ ค้น หา แบบ ไบ รอัน โดย ทั่ว ไป ต้อง มี การ เปรียบ เทียบ น้อย กว่า สําหรับ รายการ ที่ มี มาก มาย.
- การค้นหาแบบ Linear อาจเลือกใช้รายการขนาดเล็กหรือไม่มี