Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การเปรียบเทียบวิธีการค้นหาในโครงสร้างข้อมูล


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

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