การค้นหาแบบลำดับของโครงสร้างข้อมูล

 

โครงสร้างกระบวนการค้นหาข้อมูล

 

การค้นหาแบบลำดับ หมายถึง กรรมวิธีค้นหาข้อมูลที่ง่ายที่สุด และสามารถกระทำบนโครงสร้างข้อมูลที่ถูกจัดเรียงหรือไม่ก็ได้ โดยหลักการของ Sequential Search ก็คือการนำเอาค่าข้อมูลที่ต้องการหาตำเเหน่งในโครงสร้าง ไปไล่เทียบข้อมูลโครงสร้างทีละตัวตามลำดับ

หลักการค้นหาข้อมูล กรณีมีข้อมูล และไม่มีข้อมูล

การค้นหาข้อมูลแบบ Sequential search กรณีมีข้อมูล

 

การค้นหาข้อมูลแบบ Sequential search กรณีไม่พบข้อมูล

 

  • จำนวนครั้งของการเปรียบเทียบ
    • หาเจอเมื่อเปรียบเทียบครั้งเเรกเจอ = O(1)
    • ไม่มีข้อมูลนั้นอยู่ O(n)
    • หาค่าเฉลี่ยของจำนวนครั้งของการค้นหาเมื่อไฟล์ขนาด N คือ O (N/2)

ขั้นตอนวิธีข้างบนของการค้นหาแบบเรียงลำดับจะเหมากับการค้นหาค่าในชุดข้อมูลที่ไม่ได้เรียง แต่ถ้าเรียงข้อมูลเรียบร้อยเเล้ว จะมีข้อเสียบางประการ คือ กรณีที่ค้นหาไม่พบ แม้ว่าเมื่อค้น target ในชุดข้อมูลจนถึงตัวที่มีค่ามากกว่า target แล้ว การค้นหายังไม่ยุติการค้น ยังคงวนรอบเพื่อเปรียบเทียบข้อมูลจนถึงตัวสุดท้ายในชุดข้อมูล ทำให้เสียเวลา

 

การปรับปรุงประสิทธิภาพการค้นหาแบบลำดับ

  • การค้นหาข้อมูลแบบลำดับด้วยเทคนิคการเรียงลำดับข้อมูล เรียงลำดับข้อมูลจากน้อยไปหามาก

  • การค้นหาข้อมูลแบบลำดับด้วยเทคนิคเซล์ฟรีออร์เดอร์ริ่ง (Self Reordering) ปรับปรุงขั้นตอนวิธีการค้นหา โดยการค้นหาข้อมูลจะหยุดทำการค้นหาเมื่อพบว่าคีย์ที่ใช้ค้นมีค่าน้อยกว่าข้อมูลในชุดข้อมูล

 

 การค้นหาแบบลำดับ เป็นกระบวนการค้นหาข้อมูลใครโครงสร้างข้อมูลแบบง่ายที่สุด หลักการก็คือ เอาค่าข้อมูลที่ต้องการหาตำเเหน่งในโครงสร้าง ไปไล่เทียบข้อมูลในโครงสร้างทีละตัวตามลำดับ ข้อเสียของกระบวนการนี้ก็คือ กรณีที่ค้าหาไม่พบ แม้ว่าเมื่อค้น Target แล้วการค้นหาจะยังไม่ยุติการค้น ยังคงวนรอบเพื่อเปรียบเทียบข้อมูลจนถึงตัวสุดท้ายในชุดข้อมูล

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ภาษา Lua ตอนที่ 6 : ชนิดข้อมูล Table (1)
โดย worramaitk พฤ 18 ม.ค. 2024 3:34 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
340
พฤ 18 ม.ค. 2024 3:34 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 6 : ชนิดข้อมูล Table (1)
การใช้งานโปรแกรมเครื่องคิดเลขโอเพนซอร์ส Qalculate! สำหรับคำนวณสิ่งต่างๆ ในชีวิตประจำวัน
โดย worramaitk พฤ 18 ม.ค. 2024 3:10 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
241
พฤ 18 ม.ค. 2024 3:10 pm โดย worramaitk View Topic การใช้งานโปรแกรมเครื่องคิดเลขโอเพนซอร์ส Qalculate! สำหรับคำนวณสิ่งต่างๆ ในชีวิตประจำวัน
รีวิวเครื่องปริ้นสำนักงานที่ใช้กันหน่อยค่ะว่าดีไหม พอดีอยากได้เครื่องปริ้นใหม่ค่ะ
โดย Narisara พฤ 18 ม.ค. 2024 1:29 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
651
ศ 26 ม.ค. 2024 12:33 pm โดย noncup302 View Topic รีวิวเครื่องปริ้นสำนักงานที่ใช้กันหน่อยค่ะว่าดีไหม พอดีอยากได้เครื่องปริ้นใหม่ค่ะ
ภาษา Lua ตอนที่ 5 : ชนิดข้อมูล Number
โดย worramaitk พฤ 18 ม.ค. 2024 1:14 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
248
พฤ 18 ม.ค. 2024 1:14 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 5 : ชนิดข้อมูล Number
ภาษา Lua ตอนที่ 4 : ชนิดข้อมูล String
โดย worramaitk พฤ 18 ม.ค. 2024 12:32 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
214
พฤ 18 ม.ค. 2024 12:32 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 4 : ชนิดข้อมูล String
ภาษา Lua ตอนที่ 3 : ชนิดข้อมูล nil กับ boolean
โดย worramaitk พฤ 18 ม.ค. 2024 11:34 am บอร์ด Microsoft Office Knowledge & line & Etc
0
219
พฤ 18 ม.ค. 2024 11:34 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 3 : ชนิดข้อมูล nil กับ boolean
ภาษา Lua ตอนที่ 2 : พื้นฐานตัวแปร
โดย worramaitk พฤ 18 ม.ค. 2024 10:56 am บอร์ด Microsoft Office Knowledge & line & Etc
0
218
พฤ 18 ม.ค. 2024 10:56 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 2 : พื้นฐานตัวแปร
ภาษา Lua ตอนที่ 1: รู้จักพื้นฐานของภาษา จะได้เขียนโปรแกรมได้ง่ายขึ้น
โดย worramaitk พฤ 18 ม.ค. 2024 10:54 am บอร์ด Microsoft Office Knowledge & line & Etc
0
226
พฤ 18 ม.ค. 2024 10:54 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 1: รู้จักพื้นฐานของภาษา จะได้เขียนโปรแกรมได้ง่ายขึ้น