ประเภทของการเรียง ของ ขั้นตอนวิธีการเรียงลำดับ

ขั้นตอนวิธีการเรียงลำดับที่ใช้ในวิทยาการคอมพิวเตอร์ จำแนกประเภทได้ตามนี้

  • ความซับซ้อนในการคำนวณ (กรณีแย่สุด, กรณีเฉลี่ย และกรณีดีสุด) ในรูปของขนาดของรายการ (n) โดยทั่วไป กรณีที่ดีจะเป็น O(n log n) และกรณีที่แย่จะเป็น Ω(n2) ขั้นตอนวิธีการเรียงที่ใช้การเปรียบเทียบจะต้องใช้การเปรียบเทียบอย่างน้อย Ω(n log n) ครั้งโดยเฉลี่ย
  • การใช้หน่วยความจำ (และทรัพยากรต่างๆของคอมพิวเตอร์)
  • ความเสถียร (stability): ขั้นตอนวิธีการเรียงที่เสถียร จะรักษาอันดับของเรคอร์ดที่มีคีย์เท่ากัน (มีค่าเท่ากัน) นั่นคือ ขั้นตอนวิธีการเรียงลำดับจะ เสถียร ก็ต่อเมื่อ ถ้ามีเรคอร์ด R และ S ซึ่งมีคีย์เท่ากัน และ R ปรากฏอยู่ก่อน S ในรายการเริ่มต้นแล้ว R จะปรากฏอยู่ก่อน S ในรายการที่เรียงแล้วด้วย
  • วิธีที่ใช้: การแทรก, การสับเปลี่ยน, การเลือก, การรวม ฯลฯ การเรียงแบบสับเปลี่ยน รวมถึง การเรียงแบบฟอง และการเรียงแบบเร็ว

ในกรณีที่มีสมาชิกที่มีคีย์เท่ากัน และไม่สามารถแยกแยะได้ เช่น รายการของจำนวนเต็ม มันจะไม่ส่งผลต่อความเสถียร อย่างไรก็ตาม คู่อันดับของจำนวนเต็มดังต่อไปนี้ จะถูกเรียงโดยสมาชิกตัวหน้าของมัน:

(4, 1)  (3, 1)  (3, 7)  (5, 6)

ในกรณีนี้ จะให้ผลลัพธ์ได้สองแบบ แบบแรกจะรักษาอันดับของเรคอร์ดซึ่งมีคีย์เท่ากัน แต่อีกแบบจะไม่รักษาอันดับ:

(3, 1)  (3, 7)  (4, 1)  (5, 6)   (รักษาอันดับ)(3, 7)  (3, 1)  (4, 1)  (5, 6)   (อันดับเปลี่ยนแปลง)

การเรียงแบบไม่เสถียรอาจเปลี่ยนอันดับของเรคอร์ดที่มีคีย์เท่ากันได้ แต่การเรียงแบบเสถียรจะไม่เปลี่ยน เราอาจใช้การเรียงแบบไม่เสถียรในการเรียงลำดับให้เสถียรได้ โดยการใช้วิธีการเทียบคีย์แบบใหม่ เมื่อเราทำการเปรียบเทียบเรคอร์ด 2 เรคอร์ดที่มีคีย์เท่ากัน เราจะใช้อันดับของเรคอร์ดเป็นตัวตัดสิน อย่างไรก็ตาม มันต้องใช้หน่วยความจำมากขึ้น

ใกล้เคียง

ขั้นตอนวิธีแบบยุคลิด ขั้นตอนวิธีการค้นหาเพื่อนบ้านใกล้สุด k ตัว ขั้นตอนวิธีของฟลอยด์-วอร์แชล ขั้นตอนวิธีของควิน-แม็กคลัสกีย์ ขั้นตอนวิธี ขั้นตอนวิธีเชิงพันธุกรรม ขั้นตอนวิธีฮังกาเรียน ขั้นตอนวิธีของชอร์ ขั้นตอนวิธีโบรน-เคอร์โบสท์ ขั้นตอนวิธีของเบลแมน-ฟอร์ด