Bukti ini adalah bukti melalui induksi, dan berlaku sebagai berikut:
P (n) adalah pernyataan bahwa "Quicksort dengan benar mengurutkan setiap larik input dengan panjang n."
Kasus dasar: setiap larik input dengan panjang 1 sudah diurutkan (P (1) berlaku)
Langkah induktif: fix n => 2. Perbaiki beberapa larik input dengan panjang n.
Perlu ditunjukkan: jika P (k) berlaku untuk semua k <n, maka P (n) juga berlaku
Dia kemudian menggambar array A yang dipartisi di sekitar pivot p. Jadi dia menggambar p, dan memanggil bagian dari array yang <p sebagai bagian 1, dan bagian yang> p adalah bagian kedua. Panjang bagian 1 = k1, dan panjang bagian 2 adalah k2. Dengan bukti ketepatan subrutin Partition (dibuktikan sebelumnya), pivot p berakhir pada posisi yang benar.
Dengan hipotesis induktif: Bagian ke-1 disortir dengan benar oleh panggilan rekursif. (Menggunakan P (K1), P (k2))
Jadi: setelah panggilan berulang, seluruh array diurutkan dengan benar.
QED
Kebingungan saya : Saya memiliki banyak masalah dalam melihat dengan tepat bagaimana ini membuktikan kebenarannya. Jadi kita mengasumsikan bahwa P (k) memang berlaku untuk semua bilangan alami k <n.
Sebagian besar bukti induksi yang telah saya lihat sejauh ini seperti: Buktikan kasus dasar, dan tunjukkan bahwa P (n) => P (n +1). Mereka biasanya juga melibatkan semacam manipulasi aljabar. Bukti ini tampaknya sangat berbeda, dan saya tidak mengerti bagaimana menerapkan konsep Induksi ke sana. Saya agak dapat beralasan bahwa kebenaran subrutin Partisi adalah kuncinya. Jadi adalah alasan untuk kebenarannya sebagai berikut: Kita tahu bahwa setiap panggilan rekursif, ia akan mempartisi array di sekitar pivot. Pivot ini akan berada pada posisi yang seharusnya. Kemudian setiap subarray akan dipartisi lebih lanjut di sekitar pivot, dan pivot itu kemudian akan berada di posisi yang seharusnya. Ini akan terus berlanjut sampai Anda mendapatkan subarray dengan panjang 1, yang disortir secara sepele.
Tetapi kemudian kita tidak berasumsi bahwa P (k) berlaku untuk semua k <n .... kita benar-benar MENUNJUKKAN itu terjadi (karena subrutin Partisi akan selalu menempatkan satu elemen dalam posisi yang selayaknya.) Apakah kita tidak berasumsi bahwa P (k) (k) berlaku untuk semua k