การเข้าใจความซับซ้อนของเวลาและพื้นที่ของอัลกอริทึมในการเรียงลําดับนั้น จําเป็นอย่างยิ่งในการเลือกวิธีการที่เหมาะสมสําหรับโปรแกรมโดยเฉพาะ ความซับซ้อนเหล่านี้จะช่วยประเมินประสิทธิภาพและการใช้งานทรัพยากรของอัลกอริทึมภายใต้เงื่อนไขที่แตกต่างกัน
ความซับซ้อนของเวลาในการเรียงลําดับอัลกอริทม
ความซับซ้อนของเวลา จะวัดว่าเวลาทํางานของอัลกอริทึมเพิ่มขึ้นอย่างไร โดยมีขนาดของข้อมูลป้อนข้อมูล โดยปกติจะแสดงโดยใช้สัญลักษณ์ ขนาดใหญ่ O
ตัวอย่างเช่น ฟองสบู่ เรียงลําดับมีความซับซ้อนของเวลาที่แย่ที่สุด ของ [FLT: 0] O(n^2) ทําให้ความซับซ้อนของข้อมูลขนาดใหญ่ ในทางกลับกัน การผนวก การจัดเรียงมีความซับซ้อนที่เลวร้ายที่สุดของ O (N) log) ซึ่งสามารถวัดได้ง่ายขึ้น
ความซับซ้อนของช่องว่างของการเรียงลําดับอัลกอริท
ความซับซ้อนของอวกาศ เกี่ยวข้องกับปริมาณของหน่วยความจําเพิ่มเติม อัลกอริทึมต้องการเทียบกับขนาดที่ป้อนเข้าไป อัลกอริทึมบางตัวเรียงลําดับจากสถานที่ โดยใช้พื้นที่ที่พิเศษน้อยที่สุด ในขณะที่คนอื่นต้องการอาร์เรย์เพิ่มเติม หรือโครงสร้างข้อมูล
ตัวอย่างเช่น การจัดเรียงด่วนโดยทั่วไปมีความซับซ้อนของ [FLT: 0] O(logn) เนื่องจากโทรศัพท์แบบวนรอบ ขณะที่การเรียงรวมต้องการ [FT:2] O(n) (FLT:3] ช่องว่างสําหรับระบบชั่วคราว
ตัว อย่าง ของ การ คัด เลือก อัล กอ ทิก
- เรียงลําดับฟองสบู่
- เรียงลําดับการเลือก
- เรียงลําดับการแทรก
- รวมประเภท
- เรียงลําดับแบบเร็ว