การจัดเรียงข้อมูล Sorting Internal Sorting External Sorting.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คณิตคิดเร็วโดยใช้นิ้วมือ
Advertisements

การเรียงลำดับข้อมูล (Sorting).
ป.3 บทที่ 1 “จำนวนนับ ไม่เกิน100,000”
สาขาวิชาคอมพิวเตอร์และเทคโนโลยี อ.เลาขวัญ งามประสิทธิ์
เลขฐานต่าง ๆ อ.มิ่งขวัญ กันจินะ.
การทำงานแบบเลือกทำ (Selection)
LAB 1 ให้นักศึกษาเขียน Flowchart โดยใช้โปรแกรม Microsoft Word วาดรูป Flowchart ส่ง Flowchart ที่วาดเสร็จแล้วในชั่วโมง และ print ใส่กระดาษ ส่งในครั้งหน้า.
การเรียงลำดับข้อมูล(Sorting)
แบบสำรวจสายตานักเรียนในโครงการแว่นสายตา
Hashing Function มีหลายฟังก์ชั่น การเลือกใช้ขึ้นอยู่กับความเหมาะสมของข้อมูล ตัวอย่างของฟังก์ชั่นแฮชมีดังนี้ 1. Mod คือการนำค่าคีย์มา mod ด้วยค่า n ใด.
การเรียงลำดับและการค้นหาแบบง่าย
จำนวนเต็ม จำนวนเต็ม  ประกอบด้วย                   1. จำนวนเต็มบวก    ได้แก่  1 , 2 , 3 , 4, 5 , ....                   2.  จำนวนเต็มลบ      ได้แก่  -1.
คืออะไร? คือ queue ที่ access element ตามความสำคัญของตัว element นั้น
การจัดเรียงข้อมูล Sorting.
สาขาวิชาคอมพิวเตอร์และเทคโนโลยี อ.เลาขวัญ งามประสิทธิ์
การเลื่อนเงินเดือนข้าราชการ
ทศนิยมและเศษส่วน F M B N โดย นางสาวสุพรรษา ธรรมสโรช.
Microsoft Access.
Microsoft Access.
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
สาขาวิชาคอมพิวเตอร์และเทคโนโลยี อ.เลาขวัญ งามประสิทธิ์
การหาค่ากำลังสองของเลขที่ลงท้ายด้วย 5
การออกแบบโปรแกรมอย่างมีโครงสร้าง Structured Design
ขั้นตอนวิธี (Algorithm)
โปรแกรม Microsoft Access
จำนวนทั้งหมด ( Whole Numbers )
Searching.
วิทยาการคอมพิวเตอร์ 1 เรื่องคัดเฉพาะทาง
CPU ไม่รวม I/O PROCESSOR , MATH CO-PROCESSOR
โครงสร้างการจัดเก็บข้อมูลเชิงกายภาพ
ความคิดเห็นของข้าราชการเกี่ยวกับ สวัสดิการการรักษาพยาบาล พ.ศ. 2546
สำนักงานสถิติแห่งชาติ กระทรวงเทคโนโลยีสารสนเทศและการสื่อสาร
สรุปผลการสำรวจ ความคิดเห็นของประชาชนเกี่ยวกับ กองทุนหมู่บ้านและชุมชนเมือง พ.ศ สำนักงานสถิติแห่งชาติกระทรวงเทคโนโลยีสารสนเทศและการสื่อสาร สิงหาคม.
บทที่ 7 การเรียงลำดับภายนอก External sorting
เทคนิคการเรียงลำดับ Sorting Techniques
เทคนิคการค้นหาข้อมูล
บทที่ 5 เทคนิคการค้นหาข้อมูล (Searching Techniques)
Week 12 Engineering Problem 2
การเปรียบเทียบทศนิยม และการใช้เครื่องหมาย  ,  ,  และ 
Week 12 Engineering Problem 2
โปรแกรม Microsoft Access
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
หลักการเขียนโปรแกรม ( )
ค21201 คณิตศาสตร์เพิ่มเติม 1
A Comparison on Quick and Bubble sort on large scale data
ระดับความสำเร็จของการดำเนินการตามมาตรการประหยัดพลังงานของส่วนราชการ
การประเมินค่างาน ดร. สุจิตรา ธนานันท์.
F M B N สมบัติของจำนวนนับ ตัวคูณร่วมน้อย (ค.ร.น.).
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
คณิตศาสตร์ (ค33101) หน่วยการเรียนรู้ที่ 7 เรื่อง สถิติ
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
โครงสร้างข้อมูลแบบรายการโยง (Link List)
วิวัฒน์ ชินนาทศิริกุล
การเรียงข้อมูล 1. Bubble Sort 2. Insertion Sort 3. Heap Sort
School of Information Communication Technology,
ต้นไม้ Tree (2) ผู้สอน อาจารย์ ยืนยง กันทะเนตร
School of Information Communication Technology,
สรุปผลการสำรวจ ความคิดเห็นของประชาชน
… Cache …L1,L2.
การค้นในปริภูมิสถานะ
ภาวะราคาปาล์มน้ำมัน จังหวัดสุราษฎร์ธานี จังหวัดชุมพร จังหวัดกระบี่
การจัดเรียงข้อมูล (sorting)
Flowchart การเขียนผังงาน.
โครงสร้างข้อมูลแบบ สแตก (stack)
ต้นไม้ Tree [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การค้นในปริภูมิสถานะ
รายงานความก้าวหน้าการตรวจติดตามประเมิน
คณิตศาสตร์ (ค33101) ชั้นมัธยมศึกษาปีที่ 3 หน่วยการเรียนที่ 7
ค32213 คณิตศาสตร์สำหรับคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
ใบสำเนางานนำเสนอ:

การจัดเรียงข้อมูล Sorting Internal Sorting External Sorting

Sorting การเรียงลำดับข้อมูล ทำให้ผู้ต้องการใช้ข้อมูลสามารถทำความเข้าใจกับข้อมูลหรือค้นหาได้ง่ายและเร็วขึ้นโดยอาจจะเรียงจากน้อยไปหามาก Ascending หรือ มากไปหาน้อย Descending สามารถแบ่งออกเป็น 2 ประเภท คือ Internal Sorting เก็บไว้ในหน่วยความจำหลัก External Sorting เก็บไว้ในหน่วยความจำสำรอง

Sorting Type **Selecting Sort **Insertion Sort or Linear Insertion Sort **Bubble Sort **Shell Sort **Bucket Sort or Radix Sort **Quick Sort **Heap Sort or Tree Sort

Selection Sort เป็นวิธีที่ง่ายที่สุดในการเรียงลำดับ โดยเริ่มจากหา ตำแหน่งของข้อมูลที่มีค่าน้อยที่สุดสลับตำแหน่งข้อมูล ใช้วิธีการเคลื่อนย้าย Address Node 40 30 10 50 79 90 60 95 26 85 A(1) A(3) 40 30 50 79 90 60 95 26 85 A(2) A(9) 26 40 30 50 79 90 60 95 85 A(3) A(4) 10 26 30 40 50 79 90 60 95 85

Insertion Sort or Linear Insertion Sort Selection Sort A(6) A(8) 10 26 30 40 50 60 79 90 95 85 A(8) A(10) 10 26 30 40 50 60 79 85 90 95 Insertion Sort or Linear Insertion Sort อ่านข้อมูลที่ต้องการเรียงลำดับเข้ามาทีละตัวโดย เริ่มจากตัวแรกก่อน และหาตำแหน่งของข้อมูลที่ว่างแล้ว แทรกข้อมูลตัวที่หนึ่งลงไป

Insertion Sort or Linear Insertion Sort 5 1 2 8 9 5 1 1 1 1 1 5 2 2 2 2 2 5 5 5 8 8 8 8 8 9 9 9 9 9 ต้องเพิ่มเนื้อที่ความจำเพิ่ม อีก N ตำแหน่ง สำหรับ ส่วนที่เรียงแล้ว A(1:N) ยังไม่ได้เรียงต้องใช้ B(1:N) มาช่วย โดยดึงแต่ ละค่าของ A ไปใส่

Bubble Sort เป็นการจัดเรียงโดยการเปรียบเทียบข้อมูลที่อยู่ใน ตำแหน่งที่ติดกัน ถ้าข้อมูลไม่อยู่ในลำดับที่ถูกต้องก็จะทำการสลับตำแหน่งของข้อมูลที่เปรียบเทียบ เริ่มจาก A(1) เปรียบเทียบกับ A(2) ก่อนแล้วทำต่อไปเรื่อย ๆ โดยสามารถจัดเรียงได้ทั้งจากมากไปหาน้อยและ น้อยไปหามาก

Bubble Sort 5 5 5 5 5 5 8 1 1 2 2 2 8 5 2 2 1 1 8 2 2 8 8 8 8 1 1 1 Shell Sort คล้ายกับ Bubble Sort จะมีการแบ่งข้อมูลออกเป็นกลุ่ม โดยใช้สูตรในการคำนวณคือ Ds = D s-1 2

Shell Sort 40 30 10 50 70 90 60 95 26 85 Ds = 10 = 5 2 (40,90) (30,60) (10,95) (50,26) (70,85) Ds = 5 = 3 2 (40,60,50, 85) (90,10,26) (30,95,70) Ds = 3 = 2 2 (40,50,90,26,95) (60,85,10,30,70) Ds = 2 = 1 2

Radix Sort or Bucket Sort Shell Sort (40 , 50 , 90 , 26 , 95 , 60 , 85 , 10 , 30 , 70) แล้วทำการจัดเรียงตามวิธีของ Bubble Sort 10 26 30 40 50 60 70 85 90 95 Radix Sort or Bucket Sort เป็นการพิจารณาจากค่าข้อมูลออกเป็นทีละหลัก โดยรอบแรกจะพิจารณาหลักสุดท้ายก่อน (หลักหน่วย) รอบต่อไปเป็นหลักสิบวนจนครบหลักของข้อมูล

Radix Sort or Bucket Sort 12 27 9 14 35 76 37 68 5 90 42 70 55 บักเก็ต หลักหน่วย บักเก็ต หลักหน่วย 0 90 70 5 35 5 55 1 81 6 76 2 12 82 42 7 27 37 3 8 68 4 14 9 9

Radix Sort or Bucket Sort ผลการจัดแรกเรียงรอบแรก 70 81 12 82 42 14 35 5 55 76 27 37 68 9 บักเก็ต หลักสิบ บักเก็ต หลักสิบ 0 05 09 5 55 1 12 14 6 68 2 27 7 70 76 3 35 37 8 81 82 4 42 9 90

Radix Sort or Bucket Sort ผลลัพธ์พิจารณาจากหลักสิบ 9 12 14 27 35 37 42 55 68 70 76 81 82 90 Quick Sort เป็นวิธีการจัดเรียงที่ใช้เวลาน้อยที่สุด เหมาะ กับข้อมูลปริมาณมาก ๆ โดยการเลือก Key ขึ้น มาหนึ่งค่าแล้วทำการดึงข้อมูลขึ้นมา

Heap Sort เป็นการเรียงโดยใช้วิธี Binary Tree มีเงื่อนไขว่าโหนดที่เป็นลูกจะต้องมีค่าน้อยกว่าหรือเท่ากับค่าของโหนดที่เป็นพ่อ ตัวข้อมูล 42 23 74 11 65 58 94 36 นำค่าแรกมาเป็นโหนดที่ 1 หรือ Root 42 นำโหนดที่ 2 (23) เข้ามาเปรียบเทียบกับโหนดพ่อ พิจารณาแล้วมีค่าน้อยกว่าจึงอยู่ด้านซ้าย

Heap Sort 42 23 นำค่าโหนด 3 (74) มาเทียบกับโหนดพ่อมีค่ามาก กว่าโหนดพ่อซึ่งเท่ากับ 42 จึงทำการสลับ 74 23 42 นำค่าโหนด 4 (11) มาเปรียบเทียบกับโหนดพ่อ

Heap Sort นำค่าโหนด 5 (65) มาเทียบโหนดพ่อ (23) แต่โหนด 5 74 42 23 11 นำค่าโหนด 5 (65) มาเทียบโหนดพ่อ (23) แต่โหนด 5 มีค่ามากกว่าพ่อจึงสลับ 74 65 42 11 23

Heap Sort นำโหนด 6 (58) เทียบกับโหนดพ่อปรากฏว่าโหนด นำโหนด 6 (58) เทียบกับโหนดพ่อปรากฏว่าโหนด 6 มีค่ามากกว่าโหนดพ่อจึงสลับ 74 58 65 11 23 42

Heap Sort นำโหนด 7 (94) เทียบกับโหนดพ่อปรากฏว่ามากกว่า โหนดพ่อจึงสลับ แล้ว 58 ยังมากกว่าโหนดพ่อคือ 74 จึง สลับต่อไปจนถึง Root เพราะ 94 มากกว่า Root จึงสลับกัน 94 65 74 11 23 42 58

Heap Sort นำโหนด 8 (36) เทียบกับโหนดพ่อ ปรากฏว่า 36 มากว่าโหนดพ่อจึงสลับ 94 65 74 36 23 42 58 11 จากนั้นให้ค่า Address Node แล้วทำการสลับตำแหน่ง แบบ Selection Sort

Heap Sort เมื่อผ่านวิธีการแล้วจะได้ค่า 11 23 36 42 58 65 74 94 11 23 36 42 58 65 74 94