หากเรามีรายการหมายเลขเราต้องการ bitsnlogn
ไม่: ถ้าเรามีรายการตัวเลขระหว่างถึงเราต้องการบิต ไม่มีความสัมพันธ์ระหว่างและโดยทั่วไป02k−1kklogn
ถ้าตัวเลขที่มีทั้งหมดที่แตกต่างกันแล้วและ Radix เรียงลำดับตัวเลขที่แตกต่างกันดังนั้นจึงมีความซับซ้อนเวลาของการn) โดยทั่วไปความซับซ้อนของการเรียงตัวของ Radix คือโดยที่คือจำนวนองค์ประกอบที่จะเรียงลำดับและคือจำนวนบิตในแต่ละองค์ประกอบlogn≥kΩ(nlogn)Θ(nk)nk
ที่จะบอกว่าความซับซ้อนของการเรียงตัวของ Radix คือO(n)หมายถึงการใช้ขนาดบิตคงที่สำหรับตัวเลข นี่ก็หมายความว่าสำหรับขนาดใหญ่พอที่จะมีค่าซ้ำกันมากมายn
มีทฤษฎีบททั่วไปที่อาร์เรย์หรือรายการวิธีการที่ผลงานโดยการเปรียบเทียบสององค์ประกอบในช่วงเวลาที่ไม่สามารถทำงานได้เร็วกว่าการเรียงลำดับเป็นในกรณีที่เลวร้ายที่สุด การเรียงลำดับ Radix ไม่ทำงานโดยการเปรียบเทียบองค์ประกอบ แต่วิธีการพิสูจน์เดียวกันทำงาน การจัดเรียง Radix เป็นกระบวนการตัดสินใจในการพิจารณาว่าการเปลี่ยนแปลงแบบใดที่จะใช้กับอาเรย์ มีn ! การเรียงสับเปลี่ยนของอาเรย์และการเรียงลำดับฐานข้อมูลจะใช้การตัดสินใจแบบไบนารีนั่นคือการตัดสินใจว่าจะสลับสององค์ประกอบหรือไม่ในแต่ละขั้นตอน หลังจากmการตัดสินใจแบบไบนารีการเรียงลำดับ radix สามารถตัดสินใจระหว่างการเปลี่ยนแปลง2 m ไปถึงn ! การเรียงสับเปลี่ยนที่เป็นไปได้มันเป็นสิ่งจำเป็นที่Θ(nlogn)n!m2mn! )m≥log(n!)=Θ(nlogn)
ข้อสันนิษฐานในการพิสูจน์ที่ฉันไม่ได้เขียนข้างต้นคืออัลกอริทึมจะต้องทำงานในกรณีที่องค์ประกอบแตกต่างกัน ถ้าเป็นที่รู้กันมาก่อนว่าองค์ประกอบนั้นไม่แตกต่างกันทั้งหมดจำนวนการเรียงสับเปลี่ยนที่เป็นไปได้นั้นน้อยกว่าค่าเต็ม! . เมื่อเรียงลำดับหมายเลขk -bit เป็นไปได้ที่จะมีองค์ประกอบที่แตกต่างกันเพียงnเมื่อn ≤ 2 kเท่านั้น ในกรณีที่ความซับซ้อนของการจัดเรียง Radix แน่นอนΩ ( n log n ) สำหรับค่าที่มากขึ้นของnจะต้องมีการชนกันซึ่งจะอธิบายถึงวิธีการเรียงลำดับของ Radix ที่มีความซับซ้อนน้อยกว่าΘ (n!knn≤2kΩ(nlogn)nเมื่อ n > 2 kΘ(nlogn)n>2k