Merge Sort
merge sort เป็นการเรียงข้อมูลที่มีความสำคัญมากในการเรียงข้อมูลขนาดใหญ่
(การเรียงแบบภายนอก) วิธีการเรียงจะเริ่มกระทำครั้งละ 2 ค่าซึ่งจะได้
ลิสต์ย่อยจำนวน n/2 ลิสต์
แต่ละลิสต์ มี 2 ค่า จากนั้นจะทำการ merge sort ต่ออีกครั้งละ 2 ลิสต์
แล้วจะได้ลิสต์ที่เรียงแล้ว
จำนวน n/4 ลิสต์ แต่ละลิสต์มี 4 ค่า ทำแบบไปเรื่อยๆ จนในที่สุดจะทำการ
merge sort 2 ลิสต์
สุดท้ายเข้าด้วยกัน จะได้ลิสต์ที่เรียงแล้ว ดังรูป
รูป การ merge sort
จะเห็นได้ว่าการทำ merge sort ต้องกระทำเป็นจำนวน O(log2 n) เที่ยว
และแต่ละเที่ยว
ที่ทำการ merge สามารถกระทำได้ใน O(n) ดังนั้นเวลาในการเรียงข้อมูลจะเป็น O(nlog2 n)