Jika Anda memiliki algoritma penyortiran cepat, dan Anda selalu memilih elemen terkecil (atau terbesar) sebagai poros Anda; Apakah saya benar dengan asumsi bahwa jika Anda memberikan kumpulan data yang sudah diurutkan, Anda akan selalu mendapatkan kinerja kasus terburuk terlepas dari apakah daftar 'yang sudah diurutkan' berada dalam urutan naik atau turun?
Pemikiran saya adalah bahwa, jika Anda selalu memilih elemen terkecil untuk pivot Anda, maka apakah input 'yang sudah diurutkan' Anda diurutkan dengan naik atau turun tidak masalah karena subset yang dipilih untuk diurutkan relatif terhadap pivot Anda akan selalu menjadi ukuran sama?
Jawaban:
Kompleksitas kasus terburuk untuk quicksort adalah . Ini dicapai dengan memilih pivot yang membagi set sehingga satu grup hanya memiliki satu anggota. Dengan algoritma pivot picking yang buruk, ini dapat dengan mudah dicapai dengan memilih salah satu ujung set yang diurutkan. Asumsi Anda benar.Θ(n2)
sumber
Iya! Anda berpikir benar sekali! Dan sebagaimana disebutkan dengan benar oleh Yuval Filmus, waktu tayang adalahΘ(n2)
sumber
sumber