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

การเปรียบเทียบ Searching Methods ในโครงสร้างข้อมูล


ในกรณีต่างๆ ใช้แผนการค้นหาต่างกัน เพื่อหาคีย์ ในส่วนนี้จะดูความแตกต่างระหว่าง Sequential Search และ Binary Search

Sequential Search Binary Search
Time Complexity: O(n) Time Complexity: O(log n)
หาคีย์ที่ตำแหน่งแรกได้ในเวลาคงที่ หาคีย์ที่ตำแหน่งกลางได้ในเวลาคงที่
ลำดับองค์ประกอบใน Container ไม่ส่งผล องค์ประกอบต้องเรียงลำดับใน Container
ใช้ Array และ Linked List ได้ ไม่สามารถนำไปใช้กับ Linked List โดยตรง ต้องเปลี่ยนกฎพื้นฐาน
อัลกอริทึมแบบ Iterative เทคนิค Divide and Conquer
อัลกอริทึมง่าย ใช้โค้ดน้อย อัลกอริทึมซับซ้อนกว่า ใช้โค้ดมากกว่า
Worst Case: ต้องเปรียบเทียบ N ครั้ง Worst Case: เปรียบเทียบเพียง Log n ครั้ง