บทที่ 3: การค้นหาข้อมูล (Searching)

วัตถุประสงค์
การค้นหาแบบลำดับ Linear Search
Placeholder image
ตัวอย่างโปรแกรม Linear Search
Placeholder image
การวิเคราะห์ค่า Big O ของ Linear Search
Linear Search ค้นหาที่ละตัว ใช้เวลาเท่ากับจำนวนข้อมูลที่มีอยู่ หรือ O (N)
ฟังก์ชัน FindMax -->> Top
Placeholder image
ตัวอย่างโปรแกรม FindMin FindMax
Placeholder image
Placeholder image
Placeholder image
รูปที่ 1.1: Factorial Function Recursion
การวิเคราะห์ค่า Big O ของ FindMax
การค้นหาค่าสูงสุด มีการเปรียบข้อมูลทุกตัว (N) ดังนั้นค่า Big O คือ O(N)
การค้นหาแบบนี้ใช้หลักการชองแบ่งแยกแล้วรวม (divide and conquer) สามารถใช้ได้กับข้อมูลที่มีการเรียงลำดับแล้วเท่านั้น ซึ่งจะต้องใช้เวลาในการเรียงข้อมูลทั้งหมดก่อนที่จะทำการค้นหาข้อมูลแบบไบนารีได้ แต่อย่างไรก็ตามเราใช้เวลาในการเรียงข้อมูลเพียงครั้ง เดียวเท่านั้น หลังจากนั้นสามารถทำการค้นหาข้อมูลได้ตลอด ซึ่งถ้าเทียบกับการค้นหาแบบลำดับแล้ว การค้นหาแบบไบนารี มีประสิทธิภาพดีกว่าแบบลำดับ
Binary Search Algorithm
Placeholder image
ตัวอย่างการค้นหาแบบไบนารี
ตัวอย่างโปรแกรม Binary Search
Placeholder image
Placeholder image
Placeholder image
การวิเคราะห์ค่า Big O ของ Binary Search
การค้นหาแบบไบนารีมีการแบ่งครึ่งแล้วค้นหามีการเปรียบข้อมูลทุกตัว (log N) ดังนั้นค่า Big O คือ O( log N)
สรุป -->> Top

2020. mnet50.com