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

 

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

 

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

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

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

 

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

 

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

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

 

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

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

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

 

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

 

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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ปัญหา Mysql 5 Import แล้วเป็นเครื่องหมาย ???
โดย mindphp อ 09 มี.ค. 2010 2:39 am บอร์ด Linux - Web Server
0
1582
อ 09 มี.ค. 2010 2:39 am โดย mindphp View Topic ปัญหา Mysql 5 Import แล้วเป็นเครื่องหมาย ???
ถามหน่อย อยากรู้ !!! PHP มีดี ตรงใหน คนใช้กัยเยอะ
โดย tangsupap จ 08 มี.ค. 2010 4:49 pm บอร์ด Programming - PHP
3
1167
พฤ 11 มี.ค. 2010 8:08 am โดย tangsupap View Topic ถามหน่อย อยากรู้ !!! PHP มีดี ตรงใหน คนใช้กัยเยอะ
รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table
โดย soul จ 08 มี.ค. 2010 9:49 am บอร์ด Programming - PHP
15
4312
พ 10 มี.ค. 2010 9:49 am โดย soul View Topic รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table
ใช้ keyword jQuery แทน $ เมื่อใช้ Javacript Framework หลายๆตัว
โดย mindphp จ 08 มี.ค. 2010 5:39 am บอร์ด AJAX Javascript Library - jQuery
0
2197
จ 08 มี.ค. 2010 5:39 am โดย mindphp View Topic ใช้ keyword jQuery แทน $ เมื่อใช้ Javacript Framework หลายๆตัว
ตัวปรับแต่งที่ใช้ในการทำเว็บมานลวน
โดย Anonymous จ 08 มี.ค. 2010 12:09 am บอร์ด Programming - PHP
1
644
จ 08 มี.ค. 2010 12:18 am โดย mindphp View Topic ตัวปรับแต่งที่ใช้ในการทำเว็บมานลวน
รบกวนแนะนำทีค่ะ ภาพมานกลับหัวหมดเลยเอ็ฟเฟ็กภาพก๋เพี้ยน
โดย Anonymous จ 08 มี.ค. 2010 12:00 am บอร์ด Programming - PHP
1
663
จ 08 มี.ค. 2010 12:15 am โดย mindphp View Topic รบกวนแนะนำทีค่ะ ภาพมานกลับหัวหมดเลยเอ็ฟเฟ็กภาพก๋เพี้ยน
ขอช่วยดูให้หน่อยนะครับ
โดย kritkoko อ 07 มี.ค. 2010 1:49 pm บอร์ด Programming - PHP
2
860
อ 07 มี.ค. 2010 11:29 pm โดย mindphp View Topic ขอช่วยดูให้หน่อยนะครับ
ต้องการคิวรี่ข้อมูลตามช่วงเวลา 1 สัปดาห์
โดย jokobozero อ 07 มี.ค. 2010 1:39 pm บอร์ด SQL - Database
5
3247
อ 09 มี.ค. 2010 2:39 am โดย jokobozero View Topic ต้องการคิวรี่ข้อมูลตามช่วงเวลา 1 สัปดาห์