งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 9 การเรียงลำดับข้อมูล (Sorting)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 9 การเรียงลำดับข้อมูล (Sorting)"— ใบสำเนางานนำเสนอ:

1 บทที่ 9 การเรียงลำดับข้อมูล (Sorting)

2 9.1 บทนำ ปัจจุบันการดำเนินชีวิตของมนุษย์เราจำเป็นต้องเกี่ยวข้องกับข้อมูลจำนวนมาก มีการจัดเก็บข้อมูล และมีการค้นหาข้อมูลเพื่อนำไปใช้ให้เกิดประโยชน์ ซึ่งในการค้นหาข้อมูลเพื่อให้รวดเร็วและมรประสิทธิภาพ ข้อมูลเหล่านั้นจะต้องจะต้องมีการเรียงลำดับก่อน ดังนั้นการศึกษาถึงวิธีการจัดเรียงลำดับแบบต่าง ๆ จะช่วยให้เขียนโปรแกรมเพื่อจัดการเข้าถึง (Access) และเรียกใช้ข้อมูลได้ดี ซึ่งมีผลให้การประมวลผลทำได้อย่างรวดเร็วก่อให้เกิดประสิทธิภาพในการทำงานสูงสุด

3 9.2 ประเภทของการเรียงลำดับข้อมูล
1. การเรียงลำดับแบบภายใน (Internal Sorting) หมายถึง การเรียงลำดับที่ข้อมูลทั้งหมดถูกเก็บไว้ในหน่วยความจำหลัก ทำให้การเข้าถึงข้อมูลได้อย่างรวดเร็ว 2. การเรียงลำดับแบบภายนอก (External Sorting) หมายถึง การเรียงลำดับข้อมูลในกรณีที่มีข้อมูลจำนวนมาก ไม่สามารถเก็บไว้ในหน่วยความจำได้ทั้งหมด จำเป็นต้องแบ่งข้อมทูลออกเป็นส่วน ๆ แต่ละส่วนมีขนาดพอที่สามารถเก็บไว้ในหน่วยความจำหลักได้ ข้อมูลส่วนที่เก็บไว้ในหน่วยความจำหลักจะทำการเรียงลำดับแบบภายใน แล้วข้อมูลส่วนที่เรียงลำดับแล้วไปเก็บไว้ในหน่วยความจำสำรอง เพื่อรวมกับข้อมูลส่วนอื่น ๆ

4 9.3 การเรียงลำดับแบบเลือก (Selection Sort)
การเรียงลำดับแบบเลือก เป็นการเรียงลำดับแบบภายในที่ง่าย และมีลักษณะคล้ายกับการเรียงลำดับด้วยมือ ซึ่งมีขั้นตอนการทำงานในการเรียงลำดับข้อมูลจากน้อยไปหามาก ดังนี้ คือ 1. นำข้อมูลตัวแรกเปรียบเทียบกับข้อมูลตัวที่สอง ตัวที่สาม ไปเรื่อย ๆ จนถึงข้อมูลตัวสุดท้ายเพื่อหาข้อมูลที่มีค่าน้อยที่สุด 2. เมื่อได้ข้อมูลตัวที่น้อยที่สุดแล้ว นำมาสลับตำแหน่งกับข้อมูลตัวแรก 3. ต่อไปเริ่มที่ข้อมูลตัวที่สอง นำไปเปรียบเทียบกับข้อมูลตัวถัดไปจนครบทุกตัว เพื่อหาค่าน้อยที่สุด แล้วนำมาสลับตำแหน่งกับข้อมูลตัวที่สอง 4. เริ่มที่ข้อมูลตัวที่สามต่อไป ให้ทำเช่นนี้จนถึงข้อมูลตัวสุดท้าย

5 9.3 การเรียงลำดับแบบเลือก (Selection Sort)
ตัวอย่างที่ 9.1 จงเรียงลำดับข้อมูลจากน้อยไปหามาก โดยวิธีการเรียงลำดับแบบเลือก รอบที่ 1 จากช่องที่ 1 ถึงช่องที่ 5 หาค่าข้อมูลที่น้อยที่สุดคือ 3 ซึ่งอยู่ในช่องที่ 4 ให้สลับค่าของข้อมูลในช่องที่ 1 และช่องที่ 4 1 2 3 4 5 9 6 5 3 4 1 2 3 4 5 3 6 5 9 4

6 9.3 การเรียงลำดับแบบเลือก (Selection Sort)
รอบที่ 2 จากช่องที่ 2 ถึงช่องที่ 5 หาค่าข้อมูลที่น้อยที่สุดคือ 4 ซึ่งอยู่ในช่องที่ 5 ให้สลับค่าของข้อมูลในช่องที่ 2 และช่องที่ 5 รอบที่ 3 จากช่องที่ 1 ถึงช่องที่ 5 หาค่าข้อมูลที่น้อยที่สุดคือ 3 ซึ่งอยู่ในช่องที่ 4 ให้สลับค่าของข้อมูลในช่องที่ 1 และช่องที่ 4 1 2 3 4 5 3 4 5 3 6 1 2 3 4 5 3 4 5 9 4

7 9.3 การเรียงลำดับแบบเลือก (Selection Sort)
รอบที่ 4 จากช่องที่ 4 ถึงช่องที่ 5 หาค่าข้อมูลที่น้อยที่สุดคือ 6 ซึ่งอยู่ในช่องที่ 5 ให้สลับค่าของข้อมูลในช่องที่ 4 และช่องที่ 5 เมื่อสิ้นสุดรอบที่ 4 จะได้ข้อมูลที่เรียงลำดับเรียบร้อยแล้ว ดังนี้ 1 2 3 4 5 3 4 5 6 9 1 2 3 4 5 3 4 5 6 9

8 9.4 การเรียงลำดับแบบแทรก (Insertion Sort)
การเรียงลำดับแบบเลือก เป็นการเรียงลำดับแบบภายใน มีขั้นตอนการทำงานในการเรียงลำดับข้อมูลจากน้อยไปหามาก ดังนี้ คือ 1. พิจารณาข้อมูลตัวแรก โดยทำการเรียงลำดับข้อมูลสองตัวแรกของชุดข้อมูล 2. พิจารณาข้อมูลตัวที่สาม โดยนำข้อมูลตัวที่สามเปรียบเทียบข้อมูลสองตัวแรก แล้วนำข้อมูลตัวที่สามมาแทรกในตำแหน่งที่เหมาะสม 3. พิจารณาข้อมูลตัวต่อ ๆ ไป จนกระทั้งหมดชุดข้อมูล

9 9.4 การเรียงลำดับแบบแทรก (Insertion Sort)
ตัวอย่างที่ 9.2 จงเรียงลำดับข้อมูลจากน้อยไปหามาก โดยวิธีการเรียงลำดับแบบแทรก รอบที่ 1 เปรียบเทียบข้อมูลในช่องที่ 1 โดยวิธีการเรียงลำดับแบบแทรก 1 2 3 4 5 9 6 5 3 4 1 2 3 4 5 6 9 5 3 4

10 9.4 การเรียงลำดับแบบแทรก (Insertion Sort)
รอบที่ 2 พิจารณาข้อมูลในช่องที่ 3 คือ 5 โดยนำไปเปรียบเทียบกับข้อมูลในช่องที่ 1 คือ 6 และข้อมูลช่องที่ 2 คือ 9 ดังนั้นจึงแทรกข้อมูล 5 ในช่องที่ 1 รอบที่ 3 พิจารณาข้อมูลในช่องที่ 4 คือ 3 โดยนำไปเปรียบเทียบกับข้อมูลในช่องที่ 1 คือ 5 ข้อมูลช่องที่ 2 คือ 6 และข้อมูลช่องที่ 2 คือ 6 ดังนั้นจึงแทรกข้อมูล 3 ในช่องที่ 1 1 2 3 4 5 5 6 9 3 4 1 2 3 4 5 3 5 6 9 4

11 9.4 การเรียงลำดับแบบแทรก (Insertion Sort)
รอบที่ 4 พิจารณาข้อมูลในช่องที่ 5 คือ 4 โดยนำไปเปรียบเทียบกับข้อมูลในช่องที่ 1 คือ 3 ข้อมูลช่องที่ 2 คือ 5 ข้อมูลช่องที่ 3 คือ 6 และข้อมูลช่องที่ 4 คือ 9 ดังนั้นจึงแทรกข้อมูล 4 ในช่องที่ 2 เมื่อสิ้นสุดรอบที่ 4 จะได้ข้อมูลที่เรียงลำดับเรียบร้อยแล้ว ดังนี้ 1 2 3 4 5 3 4 5 6 9 1 2 3 4 5 3 4 5 6 9

12 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
การเรียงลำดับแบบฟองสบู่ เป็นการเรียงลำดับแบบภายใน มีขั้นตอนการทำงานในการเรียงลำดับข้อมูลจากน้อยไปหามาก ดังนี้ คือ 1. พิจารณาข้อมูลตัวสุดท้าย เปรียบเทียบกับข้อมูลตัวที่อยู่ก่อนหน้า แล้วทำการสลับตำแหน่งให้ค่าน้อยกว่าอยู่ข้างบน 2. แล้วหาค่าที่น้อยกว่า เปรียบเทียบกับข้อมูลที่อยู่ก่อนหน้า แล้วทำการสลับตำแหน่งให้ค่าน้อยกว่าอยู่ข้างบน 3. ทำการเปรียบเทียบและสลับตำแหน่งเรื่อย ๆ จนกระทั้งได้ค่าน้อยที่สุดของชุดข้อมูล

13 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
4. พิจารณาข้อมูลตัวสุดท้าย แล้วทำการเปรียบเทียบและสลับตำแหน่ง จนกระทั้งได้ค่าน้อยที่สุดไปอยู่มี่ตำแหน่งที่ 2 5. ทำไปเรื่อย ๆ จนกระทั้งได้ข้อมูลที่เรียงลำดับตามต้องการ

14 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
ตัวอย่างที่ 9.3 จงเรียงลำดับข้อมูลจากน้อยไปหามาก โดยวิธีการเรียงลำดับแบบฟองสบู่ รอบที่ 1 1. เปรียบเทียบข้อมูลในช่องที่ 5 คือ 4 และข้อมูลช่องที่ 4 คือ 3 ซึ่ง 3 < 4 จึงไม่ต้องสลับตำแหน่ง 1 2 3 4 5 9 6 5 3 4 1 2 3 4 5 9 6 5 3 4

15 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
2. เปรียบเทียบข้อมูลช่องที่ 4 คือ 3 และข้อมูลช่องที่ 3 คือ 5 ซึ่ง 5> 3 จึงสลับตำแหน่งข้อมูล 5 และ 3 3. เปรียบเทียบข้อมูลช่องที่ 3 คือ 3 และข้อมูลช่องที่ 2 คือ 6 ซึ่ง 6> 3 จึงสลับตำแหน่งข้อมูล 6 และ 3 1 2 3 4 5 9 6 3 5 4 1 2 3 4 5 6 3 6 5 4

16 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
4. เปรียบเทียบข้อมูลช่องที่ 2 คือ 3 และข้อมูลช่องที่ 1 คือ 9 ซึ่ง 9> 3 จึงสลับตำแหน่งข้อมูล 9 และ 3 สิ้นสุดรอบที่ 1 จะเห็นว่าค่าที่น้อยที่สุดคือ 3 ได้สลับไปอยู่ในตำแหน่งแรกของชุดข้อมูล 1 2 3 4 5 3 9 6 5 4

17 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
รอบที่ 2 1. เปรียบเทียบข้อมูลในช่องที่ 5 คือ 4 และข้อมูลช่องที่ 4 คือ 5 ซึ่ง 5 > 4 จึงสลับตำแหน่งของข้อมูล 5 และ 4 2. เปรียบเทียบข้อมูลในช่องที่ 4 คือ 4 และข้อมูลช่องที่ 3 คือ 6 ซึ่ง 6 > 4 จึงสลับตำแหน่งของข้อมูล 6 และ 4 1 2 3 4 5 3 9 6 4 5 1 2 3 4 5 3 9 4 6 5

18 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
3. เปรียบเทียบข้อมูลช่องที่ 3 คือ 4 และข้อมูลช่องที่ 2 คือ 9 ซึ่ง 9 > 4 จึงสลับตำแหน่งข้อมูล 9 และ 4 สิ้นสุดรอบที่ 2 จะเห็นว่าค่าที่น้อยที่สุดคือ 4 ได้สลับไปอยู่ในตำแหน่งที่2 ของชุดข้อมูล 1 2 3 4 5 3 4 9 6 5

19 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
รอบที่ 3 1. เปรียบเทียบข้อมูลในช่องที่ 5 คือ 4 และข้อมูลช่องที่ 4 คือ 6 ซึ่ง 6 > 5 จึงสลับตำแหน่งของข้อมูล 6 และ 5 1 2 3 4 5 3 4 9 5 6

20 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
2. เปรียบเทียบข้อมูลในช่องที่ 4 คือ 5 และข้อมูลช่องที่ 3 คือ 9 ซึ่ง 9 > 5 จึงสลับตำแหน่งของข้อมูล 9 และ 5 สิ้นสุดรอบที่ 3 จะเห็นว่าค่าที่น้อยที่สุดคือ 5 ได้สลับไปอยู่ในตำแหน่งที่3 ของชุดข้อมูล 1 2 3 4 5 3 4 5 9 6

21 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
รอบที่ 4 1. เปรียบเทียบข้อมูลในช่องที่ 5 คือ 6 และข้อมูลช่องที่ 4 คือ 9 ซึ่ง 9 > 6 จึงสลับตำแหน่งของข้อมูล 9 และ 6 1 2 3 4 5 3 4 5 6 9

22 9.5 การเรียงลำดับแบบฟองสบู่ (Bubble Sort)
สิ้นสุดรอบที่ 4 จะเห็นว่าค่าที่น้อยที่สุดคือ 6 ได้สลับไปอยู่ในตำแหน่งที่4 ของชุดข้อมูล สิ้นสุดรอบที่ 4 จะได้ข้อมูลที่เรียงลำดับแล้ว ดังนี้ 1 2 3 4 5 3 4 5 6 9

23 ตารางเปรียบเทียบ การทำงานของวิธีการเรียงลำดับข้อมูล
ข้อดี ข้อเสีย การเรียงลำดับแบบแทรก - เข้าใจง่าย - ทำงานได้ช้าสำหรับ - ทำงานได้เร็วสำหรับ ชุดข้อมูลขนาดใหญ่ ชุดข้อมูลขนาดเล็ก การเรียงลำดับแบบเลือก - ทำงานได้เร็วมากสำหรับ การเรียงลำดับแบบฟองสบู่ - ทำงานได้เร็วมากสำหรับชุดข้อมูลที่มีการเรียงลำดับ - ทำงานได้ช้ามากสำหรับชุดข้อมูลที่ยังไม่มีการเรียงลำดับ

24


ดาวน์โหลด ppt บทที่ 9 การเรียงลำดับข้อมูล (Sorting)

งานนำเสนอที่คล้ายกัน


Ads by Google