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

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

การเรียงลำดับและการ ค้นหาแบบง่าย Sorting & Searching.

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


งานนำเสนอเรื่อง: "การเรียงลำดับและการ ค้นหาแบบง่าย Sorting & Searching."— ใบสำเนางานนำเสนอ:

1 การเรียงลำดับและการ ค้นหาแบบง่าย Sorting & Searching

2 2/30 Internal Sorting : Internal Sorting :   Bubble Sort   Insertion Sort   Selection Sort Searching : Searching :   Linear search   Binary search การเรียงลำดับและการ ค้นหาแบบง่าย Algorithmic Process and Programming, created by Dararat Saelee

3 3/30 Sorting ความหมาย การจัดเรียงลำดับ (Sorting) หมายถึง การจัดเรียงข้อมูล ให้เรียงลำดับตาม เงื่อนไขที่กำหนดไว้ ( มากไปน้อย (descending) หรือ น้อยไปมาก (ascending)) กรณีที่ข้อมูลในแต่เรคอร์ด (record) มี หลายฟิลด์ (field) เราต้องพิจารณา เลือกฟิลด์ ที่สนใจเพื่อใช้ในการ เรียงลำดับ เช่น เรียงลำดับตามรหัส ศึกษา เป็นต้น

4 4/30 Sorting ประเภทของการจัดเรียงลำดับ การจัดเรียงภายใน (Internal Sorting) เป็นการจัดเรียงลำดับข้อมูลที่เก็บอยู่ใน หน่วยความจำของเครื่องคอมพิวเตอร์ การจัดเรียงภายนอก (External Sorting) การจัดเรียงข้อมูลที่เก็บอยู่ในสื่อบันทึก ข้อมูล เช่น Disk โดยทั่วไปการเรียง ประเภทนี้ มักใช้กับข้อมูลที่มีจำนวนมาก ที่ ไม่สามารถเก็บไว้ในหน่วยความจำได้หมด การเรียงในแบบนี้จะต้องแบ่งข้อมูล ออกเป็นส่วนย่อย แล้วนำมาเรียงด้วยการ จัดเรียงแบบภายในก่อน แล้วจึงนำแต่ละ ส่วนย่อยมารวมกัน

5 5/30 Sorting วิธีการจัดเรียงข้อมูลแบบ Internal Sorting การจัดเรียงแบบบับเบิล (Bubble Sort) การจัดเรียงแบบแทรก (Insertion Sort) การจัดเรียงแบบเลือก (Selection Sort)

6 6/30 Bubble Sort น้อยไปมาก เป็นการจัดเรียงโดยการเปรียบเทียบค่า 2 ค่าที่ติดกัน ทำต่อเนื่องกันไปเรื่อย ๆ และตัดสินใจว่าจะสลับตำแหน่งกัน หรือไม่ เช่น ถ้าต้องการเรียงลำดับ ข้อมูลจาก น้อยไปมาก ข้อมูลที่มีค่ามากต้องอยู่หลังข้อมูลที่ค่า น้อย ดังนั้น สำหรับข้อมูล 2 ค่าที่อยู่ติดกัน ถ้าข้อมูลตัวหน้ามากกว่าตัวหลัง ให้สลับตำแหน่ง กัน แต่ถ้าข้อมูลตัวหน้าน้อยกว่าตัวหลัง ไม่ต้องสลับ ตำแหน่งกัน ทำเช่นนี้ไปเรื่อย ๆ จนกว่าการเปรียบเทียบข้อมูล ตลอดทั้งชุดจะไม่มีการสลับตำแหน่งกันอีก

7 Algorithm Bubble_Sort (to sort unsorted array with size num) 1. for (j  2, j

8 8/30 Bubble Sort Pass 1 Pass Algorithmic Process and Programming, created by Dararat Saelee

9 9/30 Bubble Sort Pass 3 Pass 4 Pass 5 Pass Algorithmic Process and Programming, created by Dararat Saelee

10 10/30 Insertion Sort เป็นการจัดเรียงโดยการนำข้อมูลที่ จะทำการเรียงนั้น ๆ ไปจัดเรียงทีละ ตัว โดยการแทรกตัวที่จะเรียงไว้ใน ตำแหน่งที่เหมาะสมของข้อมูลที่มี การจัดเรียงเรียบร้อยแล้ว ณ ตำแหน่งที่ถูกต้อง ซึ่ง เริ่มพิจารณาตั้งแต่ข้อมูลตำแหน่งที่ 2 เป็นต้นไป โดยพิจารณาว่าจะวางข้อมูลที่กำลัง พิจารณา ณ ตำแหน่งใดเพื่อให้เกิด การเรียงลำดับ จนกระทั่งหมด

11 Algorithm Insertion_Sort 1. for(i  1, i0 && data[j-1]>temp ; j--) data[j]  data[j-1]; 1.3 data[j]  temp; 2. end 11/30 (ascending order)

12 12/30 Insertion Sort What if descending order? #compare = 17, #move = 14, #pass = Algorithmic Process and Programming, created by Dararat Saelee

13 13/30 Selection sort เป็นการจัดเรียงโดยการเริ่มต้น ค้นหาข้อมูลตัวที่น้อยที่สุด ( มากที่สุด ) จากข้อมูลที่มีอยู่ ทั้งหมด แล้วเอามาเก็บไว้ข้าง นอก แล้วกลับไปหาข้อมูลตัวที่ น้อยที่สุด ( มากที่สุด ) ในกอง ต่อไปจนกว่าจะหมดกอง

14 Algorithm Selection_Sort 1. for(i  0 ; i

15 15/30 Selection Sort (with smallest) #move = 3, #compare = 21, #pass = Algorithmic Process and Programming, created by Dararat Saelee

16 16/30 Selection Sort (with largest) #move = 4, #compare = 21, #pass = Algorithmic Process and Programming, created by Dararat Saelee

17 17/ 30 Searching คือการค้นหาข้อมูล จากชุด ข้อมูล ซึ่งผลลัพธ์ จะต้องบอก ได้ว่าค้นหาเจอหรือค้นหาไม่ เจอ 2 search methods : Linear/Sequential search Binary search

18 18/ 30 Linear/Sequential Search เหมาะกับการค้นหาข้อมูลจากชุด ข้อมูลขนาดเล็ก โดยเริ่มเปรียบเทียบข้อมูลที่ ต้องการค้นหา (search key) กับ ข้อมูลตัวแรก จนกว่าจะเจอข้อมูลที่ ต้องการ

19 19/ 30 Linear/Sequential Search กรณีข้อมูลไม่มีการ เรียงลำดับ : ให้ค้นหาตั้งแต่ข้อมูล ตัวแรกจนถึงตัวสุดท้ายของชุด ข้อมูล กรณีข้อมูลถูกเรียงลำดับจาก น้อยไปมาก : ให้ค้นหาตั้งแต่ข้อมูล ตัวแรกจนถึงตัวสุดท้ายที่มีค่าน้อย กว่าข้อมูลที่ต้องการค้นหา

20 20/ 30 Linear/Sequential Search search key = 25, (unsuccessful) Sorted data Sorted data What if descending sorted data? Unsorted data Algorithmic Process and Programming, created by Dararat Saelee

21 21/ 30 Binary Search ใช้ค้นหาข้อมูลบนชุดข้อมูลที่มีการ เรียงลำดับเรียบร้อยแล้ว มีขั้นตอนดังนี้ 1. หาค่าข้อมูลที่อยู่ตรงกลางชุดข้อมูล (middle value) ซึ่งเป็นค่าที่อยู่อยู่ ณ ตำแหน่ง เมื่อ N คือจำนวนข้อมูล ทั้งหมด 2. เปรียบเทียบค่าที่อยู่ตรงกลาง (middle value) กับค่าที่ต้องการ ค้นหา (search key)

22 22/ 30 Binary Search 3. ถ้าไม่ตรงกัน กรณีข้อมูลเรียงลำดับ จากน้อยไปมาก ให้ดำเนินการดังนี้ 3.1 ถ้า search key < middle value concentrate on the first half data and do (1) - (3) 3.2 ถ้า search key > middle value concentrate on the second half data and do (1) - (3)

23 23/ 30 Binary Search mid Search key = Algorithmic Process and Programming, created by Dararat Saelee

24 24/ 30 Binary Search mid Search key = Algorithmic Process and Programming, created by Dararat Saelee

25 25/30 Exercise 1 Ascending Sort Searching 1) key = 32 2) key = Algorithmic Process and Programming, created by Dararat Saelee

26 26/30 Exercise 2 Descending Sort Searching 1) key = 89 2) key = 25 What if adds 18 at the end? Algorithmic Process and Programming, created by Dararat Saelee

27 27 Have a courage to make your dream come true … Algorithmic Process and Programming, created by Dararat Saelee


ดาวน์โหลด ppt การเรียงลำดับและการ ค้นหาแบบง่าย Sorting & Searching.

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


Ads by Google