Saya telah belajar tentang Radix sort baru-baru ini dan salah satu sumber yang saya gunakan adalah halaman Wikipedia. Saat ini ada paragraf berikut mengenai efisiensi algoritma:
Topik efisiensi pengurutan radix dibandingkan dengan algoritma pengurutan lainnya agak rumit dan menimbulkan banyak kesalahpahaman. Apakah pengurutan radix sama efisiennya, kurang efisien, atau lebih efisien dibandingkan algoritma berbasis perbandingan terbaik bergantung pada detail asumsi yang dibuat. Kompleksitas pengurutan radix adalah O(wn) untuk n kunci yang merupakan bilangan bulat dengan ukuran kata w. Kadang-kadang w disajikan sebagai sebuah konstanta, yang akan membuat pengurutan radix lebih baik (untuk n yang cukup besar) daripada algoritma pengurutan berbasis perbandingan terbaik, yang semuanya melakukan perbandingan O(n log n) untuk mengurutkan n kunci. Namun, secara umum w tidak dapat dianggap sebagai sebuah konstanta: jika semua n kunci berbeda, maka w setidaknya harus berupa log n agar mesin akses acak dapat menyimpannya dalam memori, sehingga memberikan paling banter kompleksitas waktu O(n log n). Hal ini tampaknya membuat pengurutan radix sama efisiennya dengan pengurutan berbasis perbandingan terbaik (dan lebih buruk lagi jika kunci lebih panjang daripada log n) .
Sayangnya, bagian yang dicetak tebal menjadi hambatan yang tidak dapat saya lewati. Saya memahami bahwa secara umum pengurutan Radix adalah O(wn), dan melalui sumber lain telah melihat bagaimana O(n) dapat dicapai, tetapi tidak dapat memahami mengapa n kunci berbeda memerlukan waktu O(n log n) untuk penyimpanan secara acak- mesin akses. Saya cukup yakin bahwa ini adalah soal matematika sederhana, namun sayangnya pemahaman yang kuat masih berada di luar jangkauan saya.
Upaya terdekat saya adalah sebagai berikut:
Diberikan suatu bilangan pokok 'B' dan sebuah bilangan dalam bilangan pokok tersebut, 'N', maka angka maksimum yang dapat dimiliki 'N' adalah:
(logB dari N) + 1.
Jika setiap nomor dalam daftar tertentu, L, adalah unik, maka kita mempunyai:
L *((logB dari N) + 1) kemungkinan
Pada titik ini saya tidak yakin bagaimana kemajuannya.
Adakah yang bisa memperluas bagian di atas yang dicetak tebal dan menjelaskan mengapa n kunci berbeda memerlukan minimal log n untuk penyimpanan akses acak?