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

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

Week 12 Engineering Problem 2. Outline ทบทวนการใช้อาเรย์ ปัญหาการจัดเรียงข้อมูล อัลกอริทึมการจัดเรียงแบบแทรก (Insertion Sort) แบบ pseudo- code ตัวอย่างการทำงานของอัลกอริทึม.

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


งานนำเสนอเรื่อง: "Week 12 Engineering Problem 2. Outline ทบทวนการใช้อาเรย์ ปัญหาการจัดเรียงข้อมูล อัลกอริทึมการจัดเรียงแบบแทรก (Insertion Sort) แบบ pseudo- code ตัวอย่างการทำงานของอัลกอริทึม."— ใบสำเนางานนำเสนอ:

1 Week 12 Engineering Problem 2

2 Outline ทบทวนการใช้อาเรย์ ปัญหาการจัดเรียงข้อมูล อัลกอริทึมการจัดเรียงแบบแทรก (Insertion Sort) แบบ pseudo- code ตัวอย่างการทำงานของอัลกอริทึม อัลกอริทึมการจัดเรียงแบบแทรก (Insertion Sort) ในภาษา C

3 การประกาศอาเรย์ในภาษา C type name[elements]; name คือ ชื่ออาเรย์ type หมายถึง ชนิด อาทิเช่น int, float, ฯลฯ และ elements ระบุ จำนวนสมาชิกในอาเรย์ ตัวอย่าง int billy[5]; float c[12], x[27];

4 ปัญหาในการจัดเรียงข้อมูล ปัญหาในการจัดเรียงข้อมูลสามารถกำหนด ได้ดังนี้ Input: อาเรย์ A = ที่เก็บ ตัวเลขจำนวนเต็มจำนวนทั้งหมด n ตัว Output: อาเรย์ A = ที่เก็บ ตัวเลขจำนวนเต็มจำนวนทั้งหมด n ตัว โดยที่ a’ 1 ≤ a’ 2 ≤ a’ 3 ≤ … ≤ a’ n การแก้ปัญหานี้สามารถทำได้หลายวิธี แต่วิธีที่เราจะศึกษามีชื่อเรียกว่า อัลกอริทึมการจัดเรียงแบบแทรก (Insertion Sort)

5 อัลกอริทึมการจัดเรียงข้อมูลแบบ แทรก (Insertion Sort) อธิบายการทำงานโดยใช้ pseudo-code

6 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 สมมติว่ามีตัวเลขอยู่ห้าตัวที่ต้องการจะจัดเรียงจากน้อยไปมากโดย ใช้อัลกอริทึมจัดเรียงแบบแทรก

7 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 ตัวเลขสีแดงคือตัวเลขที่ต้องการจะเปรียบเทียบกับตัวเลขข้างหน้า เพื่อหาตำแหน่งที่ถูกต้อง

8 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 เนื่องจาก 4 มากกว่า 1 จึงไม่ต้องมีการย้ายตำแหน่งของ 4

9 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 ตัวเลขถัดมาที่เราจะหาตำแหน่งที่ถูกต้องคือ 2

10 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7

11 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 1,4,2,6,7 1,2,4,6,7 เนื่องจาก 2 น้อยกว่า 4 แสดงว่า 2 ต้องสลับตำแหน่งกับ 4

12 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 1,4,2,6,7 1,2,4,6,7 1,2,4,6,7 นำ 2 มาเปรียบเทียบกับตัวเลขข้างหน้าคือ 1 ในที่นี้ 2 มีค่า มากกว่า 1 เลข 2 จึงอยู่ในตำแหน่งที่ถูกต้องแล้ว

13 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 1,4,2,6,7 1,2,4,6,7 1,2,4,6,7 พิจารณาตัวเลขถัดมาคือเลข 6 นำเลข 6 ไปเปรียบเทียบกับตัวเลข ข้างหน้าคือ เลข 4

14 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 1,4,2,6,7 1,2,4,6,7 1,2,4,6,7 เนื่องจากเลข 6 มีค่ามากกว่าเลข 4 แล้ว เลข 6 จึงอยู่ในตำแหน่ง ที่ถูกต้องแล้ว ไม่ต้องสับเปลี่ยนตำแหน่งกับเลข 4

15 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 1,4,2,6,7 1,2,4,6,7 1,2,4,6,7 นำตัวเลขตัวถัดไปคือเลข 7 มาเปรียบเทียบกับตัวเลขข้างหน้าคือ เลข 6

16 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 1,4,2,6,7 1,2,4,6,7 1,2,4,6,7 เนื่องจากเลข 7 มีค่ามากกว่าเลข 6 จึงอยู่ในตำแหน่งที่ถูกต้องแล้ว ไม่ต้องมีการสลับที่

17 ตัวอย่างการทำงานของอัลกอริทึม การจัดเรียงแบบแทรก (Insertion Sort) 1,4,2,6,7 1,4,2,6,7 1,2,4,6,7 1,2,4,6,7 เนื่องจากตัวเลข 7 เป็นตัวเลขตัวสุดท้าย การจัดเรียงจึงสิ้นสุดลงโดยตัวเลขทั้ง 5 ตัว อยู่ในลำดับจากน้อยไปมากตามที่ต้องการ

18 อัลกอริทึมการจัดเรียงข้อมูลแบบ แทรกใน C

19 ตัวอย่างการทำงานของโปรแกรม

20 การจัดเรียงข้อมูลที่เป็นสตริง การจัดเรียงข้อมูลแบบแทรกสามารถใช้ กับการจัดเรียงข้อมูลที่ไม่ใช่ตัวเลขได้ ด้วย ขอเพียงแต่ให้มีตัวเปรียบเทียบที่ บอกว่าข้อมูลที่ให้มาสองอัน = > หรือ < กัน เช่น เราสามารถจัดเรียงข้อมูลสตริง ได้ เพราะเราสามารถใช้ฟังก์ชัน strcmp ซึ่งมีรูปแบบ int strcmp(char *string1, char *string2);

21 การเปรียบเทียบสตริงโดยใช้ strcmp ถ้า string1


ดาวน์โหลด ppt Week 12 Engineering Problem 2. Outline ทบทวนการใช้อาเรย์ ปัญหาการจัดเรียงข้อมูล อัลกอริทึมการจัดเรียงแบบแทรก (Insertion Sort) แบบ pseudo- code ตัวอย่างการทำงานของอัลกอริทึม.

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


Ads by Google