About Me

header ads

ขั้นตอนการเรียงลำดับ

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

               1. การเรียงลำดับแบบเลือก (Selection sort)       
               2. การเรียงลำดับแบบเร็ว (Quick sort)                 
               3. การเรียงลำดับแบบฮีป (Heap sort)                   
               4. การเรียงลำดับแบบฟอง (Bubble sort)             
               5. การเรียงลำดับแบบแทรก (Insertion sort)       
               6. การเรียงลำดับแบบเซลล์ (Shell sort)              
               7. การเรียงลำดับแบบผสมผสาน (Merge sort) 

          ในที่นี้ขอยกตัวอย่าง 3 ลำดับแรกค่ะ 
4.1  การเรียงลำดับแบบเลือก (Selection sort)
           เป็นวิธีเรียงลำดับโดยการเลือกค่าที่น้อยออกไปเรียงลำดับใหม่



4.2 การเรียงลำดับแบบเร็ว (Quick sort)
          การเรียงลำดับแบบเร็ว (Quick sort)  เป็นวิธีเรียงลำดับที่เร็วกว่าการเรียงลำดับแบบฟอง  โดยการจับคู่ตัวเลขหัวและท้าย  คือ  ตัวที่ 1 และตัวสุดท้ายมาเปรียบเทียบกัน  ถ้าตัวเลขทางท้ายน้อยกว่าทางหัวให้สลับที่แล้วเลื่อนเข้าหากันทั้ง 2 ด้าน  และเปรียบเทียบตัวเลขคู่ถัดไป




4.3 การเรียงลำดับแบบฮีป (Heap)
          ฮีป (Heap)  คือ โครงสร้างข้อมูลตามแนวคิดแบบต้นไม้  โดยจะเรียกข้อมูลแต่ละชุดว่า โหนด (node) ซึ่งแต่ละโหนดจะมีเส้นโยงถึงกันแบบรากของต้นไม้  โหนดที่อยู่ด้านบนจะต้องมีค่าตัวเลขมากกว่าโหนดล่าง  เรียกว่า รูท (root)  ส่วนโหนดที่อยู่ด้านล่างจะเป็นโหนดลูก  ซึ่งมีโหนดทางซ้าย (left child) และโหนดขวา (right child)



ใบงานที่ 1.4  
1. การเรียงลำดับความสูงของเสา
    จากรูปเป็นเสาทีป่ักบนพื้น  ให้เขียนอัลกอริทึมจัดเรียงเสาใหม่โดยเรียงลำดับจากเสาต้นที่เตี้ยสุดไปหาต้นที่สูงที่สุด (Ascending)
2. จัดเรียงเสื้อให้หาได้ง่ายที่สุด  ถ้านักเรียนมีเสื้อแบบต่าง ๆ ดังต่อไปนี้
ให้เขียนอัลกอริทึมในการเรียงลำดับของเสื้อให้หาง่ายที่สุด

ส่งไฟล์งานที่ 1.4
เฉลย ใบงานที่ 1.4


แสดงความคิดเห็น

0 ความคิดเห็น