Searching
การค้นหาแบบลำดับ (Sequential Search) เป็นวิธีที่ง่ายที่สุดในอัลกอริทึมในการค้นหา ถ้าข้อมูลเป็นลิสต์ การค้นหาวิธีนี้เพียงไปยังข้อมูลตั้งแต่ตัวแรกและเปรียบเทียบว่าใช่ข้อมูลที่ต้องการหรือไม่ ถ้าไม่ใช่ให้ไปยังข้อมูลถัดไปในลิสต์ จนจบหรือจนหมดข้อมูลในลิสต์
Data Structure (Array) ข้อมูล 2 53 81 41 55 23 87 51 2 53 81 41 55 23 87 51 1 3 4 5 6 7 i A[i] ครั้งที่ 1 ครั้งที่ 2 ครั้งที่ 3 ครั้งที่ 4 ครั้งที่5 Key = 55
Data Structure (Linked List) ข้อมูล 2 53 81 41 55 23 87 51 2 53 41 81 23 87 51 55 ครั้งที่ 1 ครั้งที่ 2 ครั้งที่ 3 ครั้งที่ 4 ครั้งที่5 Key = 55
การค้นหาแบบไบนารี (Binary Search) ใช้กับข้อมูลที่ถูกจัดเรียงแล้วเท่านั้น หลักการของการค้นหาคือ ข้อมูลจะถูกแบ่งออกเป็นสองส่วน นำค่ากลางข้อมูลมาเปรียบเทียบกับค่าคีย์ที่ต้องการหา ถ้าข้อมูลมีการเรียงจากน้อยไปหามาก เมื่อเปรียบเทียบแล้วถ้าค่าคีย์ที่ต้องการหา มีค่ามากกว่าค่ากลาง แสดงว่าต้องทำการค้นหาข้อมูลในครึ่งหลังต่อไป นำข้อมูลครึ่งหลังมาทำซ้ำข้อ 2 จนกว่าจะเจอข้อมูลที่ต้องการ (หรือไม่เจอ)
Data Structure (Array) ข้อมูล 2 53 81 41 55 23 87 51 2 53 81 41 55 23 87 51 1 3 4 5 6 7 i A[i] จัดเรียง 2 23 41 51 53 55 81 87 1 3 4 5 6 7 i A[i] ครั้งที่ 1 ครั้งที่ 2 Key = 55
Data Structure (Linked List) ข้อมูล 2 53 81 41 55 23 87 51 จัดเรียง ครั้งที่ 2 2 23 51 41 55 81 87 53 ครั้งที่ 1 Key = 55