Adakah algoritme pengurutan perbandingan yang diketahui yang tidak direduksi menjadi jaringan pengurutan, sehingga setiap elemen dibandingkan dengan kali?
Sejauh yang saya tahu, satu-satunya cara untuk menyortir dengan perbandingan pada setiap elemen adalah dengan membangun jaringan penyortiran AKS untuk input, dan menjalankan input pada jaringan penyortiran.n
AKS tidak mudah diimplementasikan dan memiliki faktor konstan yang tidak praktis, sehingga ada motivasi untuk mencari algoritma lain.
Algoritma dengan perbandingan per item yang tampaknya tidak menyiratkan jaringan pengurutan disajikan di sini . (iirc, ini pertama kali dipresentasikan oleh Rob Johnson di seminar algoritma Stony Brook).
ds.algorithms
sorting
sorting-network
Chao Xu
sumber
sumber
Jawaban:
Setelah membahas hal ini dengan Michael T. Goodrich, tampaknya algoritma pengurutan paralel oleh Cole untuk EREW PRAM melakukan pekerjaannya. Lihat
Dalam algoritma itu ada putaran dan di setiap putaran masing-masing elemen berpartisipasi dalam perbandingan O ( 1 ) . (Kita harus memahami algoritma untuk melihat bahwa kita tidak menyalahgunakan membuat salinan dari setiap elemen.)O(logn) O(1)
Perpanjangan dari algoritma untuk mesin penunjuk paralel diberikan dalam
sumber