3
การใช้งานจริงของ Radix Sort
Radix จัดเรียงเป็นทฤษฎีอย่างรวดเร็วเมื่อคุณรู้ว่ากุญแจอยู่ในขอบเขต จำกัด บางอย่างบอกว่าค่าในช่วงตัวอย่างเช่น หากคุณเพิ่งแปลงค่าเป็นฐานซึ่งใช้เวลาเวลาให้ทำการจัดเรียงฐาน radix จากนั้นแปลงกลับเป็นฐานเดิมของคุณเพื่ออัลกอริทึมโดยรวมnnn[ 0 … nk- 1 ][0...nk-1][0\dots n^k -1]k < lgnk<LGnk<\lg nnnnΘ ( n )Θ(n)\Theta(n)nnnΘ ( n k )Θ(nk)\Theta(nk) อย่างไรก็ตามฉันได้อ่านแล้วว่าโดยทั่วไปแล้วการเรียงลำดับของ Radix ในทางปฏิบัติจะช้ากว่าการทำ Quicksort แบบสุ่มมาก : สำหรับอาร์เรย์ขนาดใหญ่การเรียงลำดับแบบ Radix มีจำนวนการเรียนการสอนต่ำที่สุด แต่เนื่องจากประสิทธิภาพแคชค่อนข้างต่ำประสิทธิภาพโดยรวมจึงแย่กว่ารุ่นที่ผสานหน่วยความจำและการรวมแบบรวดเร็ว การจัดเรียงของ Radix เป็นเพียงแค่อัลกอริธึมทางทฤษฎีที่ดีหรือว่ามันมีประโยชน์ในทางปฏิบัติทั่วไปหรือไม่?