ในกรณีต่างๆ เราใช้รูปแบบการค้นหาที่แตกต่างกันเพื่อค้นหาคีย์บางคีย์ ในส่วนนี้ เราจะมาดูกันว่าอะไรคือความแตกต่างพื้นฐานระหว่างเทคนิคการค้นหาสองแบบ คือ การค้นหาตามลำดับและการค้นหาแบบไบนารี
การค้นหาตามลำดับ | การค้นหาไบนารี |
---|---|
ความซับซ้อนของเวลาคือ O(n) | ความซับซ้อนของเวลาคือ O(log n) |
ค้นหาคีย์ที่ตำแหน่งแรกในเวลาคงที่ | ค้นหาคีย์ที่ตำแหน่งกึ่งกลางในเวลาคงที่ |
ลำดับขององค์ประกอบในคอนเทนเนอร์ไม่มีผล | องค์ประกอบต้องถูกจัดเรียงในคอนเทนเนอร์ |
สามารถใช้อาร์เรย์และรายการที่เชื่อมโยงเพื่อใช้งาน | ไม่สามารถนำไปใช้กับรายการที่เชื่อมโยงได้โดยตรง เราจำเป็นต้องเปลี่ยนกฎพื้นฐานของรายการเพื่อใช้สิ่งนี้ |
อัลกอริทึมเป็นแบบวนซ้ำในธรรมชาติ | เทคนิคอัลกอริทึมคือการแบ่งและพิชิต |
อัลกอริทึมใช้งานง่ายและต้องการโค้ดน้อยกว่า | อัลกอริทึมค่อนข้างซับซ้อน ต้องใช้โค้ดจำนวนมากขึ้นในการนำไปใช้ |
กรณีที่เลวร้ายที่สุดจำเป็นต้องมีการเปรียบเทียบ N จำนวน | บันทึก n จำนวนการเปรียบเทียบเพียงพอในกรณีที่เลวร้ายที่สุด |