อัลกอริธึมการเรียงลำดับเป็นหนึ่งในอัลกอริธึมพื้นฐานที่สุดใน "โครงสร้างข้อมูลและอัลกอริธึม"
อัลกอริธึมการเรียงลำดับสามารถแบ่งออกเป็นการเรียงลำดับภายในและการเรียงลำดับภายนอก การเรียงลำดับภายในคือการเรียงลำดับบันทึกข้อมูลในหน่วยความจำ ในขณะที่การเรียงลำดับภายนอกเป็นเพราะข้อมูลที่เรียงลำดับมีขนาดใหญ่มากและไม่สามารถรองรับการบันทึกที่เรียงลำดับทั้งหมดในคราวเดียว จำเป็นต้องเข้าถึงหน่วยความจำ อัลกอริธึมการเรียงลำดับภายในทั่วไปประกอบด้วย: การเรียงลำดับการแทรก, การเรียงลำดับแบบ Hill, การเรียงลำดับการเลือก, การเรียงลำดับแบบฟอง, การเรียงลำดับแบบผสาน, การเรียงลำดับแบบด่วน, การเรียงลำดับฮีป, การเรียงลำดับ Radix เป็นต้น สรุปด้วยภาพ:
เกี่ยวกับความซับซ้อนของเวลา :
เกี่ยวกับความมั่นคง :
อัลกอริธึมการเรียงลำดับที่เสถียร: การเรียงลำดับแบบฟอง การเรียงลำดับการแทรก การเรียงลำดับแบบผสาน และการเรียงลำดับแบบ Radix
อัลกอริธึมการเรียงลำดับไม่เสถียร: การเรียงลำดับการเลือก, การเรียงลำดับอย่างรวดเร็ว, การเรียงลำดับแบบ Hill, การเรียงลำดับแบบฮีป
อภิธานศัพท์ :
n : ขนาดข้อมูล
k : จำนวน "ถัง"
In-place : ใช้หน่วยความจำคงที่และไม่ใช้หน่วยความจำเพิ่มเติม
Out-place : ใช้หน่วยความจำเพิ่มเติม
ความเสถียร : ลำดับของค่าคีย์ที่เท่ากันสองค่าหลังจากการเรียงลำดับจะเหมือนกับลำดับก่อนการเรียงลำดับ
โครงร่างเนื้อหา GitBook
เนื้อหาของหนังสือเล่มนี้มาจากอินเทอร์เน็ตเกือบทั้งหมด
ที่อยู่โครงการโอเพ่นซอร์ส: https://github.com/hustcc/JS-Sorting-Algorithm ซึ่งจัดโดย hustcc
ที่อยู่การอ่านออนไลน์ของ GitBook: https://sort.hust.cc/
โปรเจ็กต์นี้ใช้ lint-md เพื่อตรวจสอบรูปแบบของไฟล์ Markdown ภาษาจีน ตรวจสอบให้แน่ใจว่ารูปแบบ Markdown ถูกต้องก่อนส่ง PR