11
เหตุใด Quicksort จึงดีกว่าอัลกอริธึมการเรียงลำดับอื่น ๆ ในทางปฏิบัติ
ในหลักสูตรอัลกอริทึมมาตรฐานเราได้รับการสอนว่าquicksortคือโดยเฉลี่ยและในกรณีที่แย่ที่สุด ในเวลาเดียวกันขั้นตอนวิธีการเรียงลำดับอื่น ๆ มีการศึกษาซึ่งเป็นในกรณีที่เลวร้ายที่สุด (เช่นmergesortและheapsort ) และเวลาแม้กระทั่งการเชิงเส้นในกรณีที่ดีที่สุด (เช่นการเรียงลำดับแบบฟอง ) แต่มีความต้องการเพิ่มเติมบางส่วนของหน่วยความจำO ( n 2 ) O ( n log n )O ( n บันทึกn )O(nlogn)O(n \log n)O ( n2)O(n2)O(n^2)O ( n บันทึกn )O(nlogn)O(n \log n) หลังจากมองผ่าน ๆ ในเวลาที่วิ่งเร็วขึ้นมันเป็นเรื่องธรรมดาที่จะบอกว่า quicksort ไม่ควรมีประสิทธิภาพเหมือนกับคนอื่น ๆ นอกจากนี้ให้พิจารณาว่านักเรียนเรียนรู้ในหลักสูตรการเขียนโปรแกรมพื้นฐานที่การเรียกซ้ำโดยทั่วไปไม่ดีนักเพราะอาจใช้หน่วยความจำมากเกินไป ฯลฯ ดังนั้น (และแม้ว่านี่จะไม่ใช่การโต้แย้งจริง) สิ่งนี้ทำให้เกิดความคิดว่า ดีจริงๆเพราะเป็นอัลกอริทึมแบบเรียกซ้ำ เหตุใด quicksort จึงมีประสิทธิภาพสูงกว่าอัลกอริทึมการเรียงลำดับอื่น ๆ …
308
algorithms
sorting