Algoritma acak vs rekursif
Algoritma acak menggabungkan rasa keacakan dalam logikanya dengan membuat pilihan acak selama pelaksanaan algoritma. Karena keacakan ini, perilaku algoritma dapat berubah bahkan untuk input yang tetap. Untuk banyak masalah, algoritma acak memberikan solusi yang paling sederhana dan efisien. Algoritma rekursif didasarkan pada gagasan bahwa solusi untuk masalah dapat ditemukan dengan menemukan solusi untuk sub -masalah yang lebih kecil dari masalah yang sama. Rekursi banyak digunakan untuk menemukan solusi untuk masalah dalam ilmu komputer dan banyak bahasa pemrograman tingkat tinggi mendukung rekursi.
Apa itu algoritma acak?
Algoritma acak menggabungkan rasa keacakan dengan membuat pilihan acak yang memandu eksekusi algoritma. Ini biasanya dilakukan dengan mengambil satu set angka acak yang dihasilkan oleh generator angka pseudorandom sebagai input tambahan. Karena ini, perilaku algoritma dapat berubah bahkan untuk input yang tetap. Quicksort adalah algoritma yang dikenal luas yang menggunakan konsep keacakan dan memiliki waktu berjalan O (n log n) terlepas dari sifat input. Selanjutnya, metode konstruksi tambahan acak digunakan untuk struktur bangunan seperti lambung cembung dalam geometri perhitungan. Dalam metode ini, titik input diizinkan secara acak dan kemudian dimasukkan satu per satu ke dalam struktur. Menerapkan algoritma acak relatif sederhana daripada menerapkan algoritma deterministik untuk masalah yang sama. Tantangan terbesar dalam merancang algoritma acak terletak pada melakukan analisis asimptotik untuk kompleksitas waktu dan ruang.
Apa itu algoritma rekursif?
Algoritma rekursif didasarkan pada gagasan bahwa solusi untuk masalah dapat ditemukan dengan menemukan solusi untuk sub -masalah yang lebih kecil dari masalah yang sama. Dalam algoritma rekursif, fungsi didefinisikan dalam hal versi sebelumnya dari dirinya sendiri. Penting untuk dicatat bahwa referensi diri ini harus memiliki kondisi penghentian untuk menghindari referensi dirinya selamanya. Kondisi penghentian diperiksa sebelum mereferensikan dirinya sendiri. Langkah awal dari algoritma rekursif terkait dengan klausul dasar definisi rekursif masalah. Langkah -langkah yang mengikuti langkah awal terkait dengan klausa induktif masalah. Algoritma rekursif memberikan solusi yang lebih sederhana dalam banyak situasi dan lebih dekat dengan cara berpikir alami daripada algoritma berulang untuk masalah yang sama. Tetapi secara umum, algoritma rekursif membutuhkan lebih banyak memori dan harganya mahal secara komputasi.
Apa perbedaan antara algoritma acak dan rekursif?
Algoritma acak adalah algoritma yang menggunakan rasa keacakan dengan membuat pilihan acak yang dapat mempengaruhi eksekusi algoritma, sedangkan algoritma rekursif adalah algoritma yang didasarkan pada gagasan bahwa solusi untuk masalah dapat ditemukan dengan menemukan solusi untuk sub -masalah yang lebih kecil yang lebih kecil yang lebih kecil lebih kecil dari masalah yang sama. Karena keacakan dalam algoritma acak, perilaku algoritma dapat berubah bahkan untuk input yang sama (dalam eksekusi algoritma yang berbeda). Tetapi ini tidak mungkin dalam algoritma rekursif dan perilaku algoritma rekursif akan sama untuk input yang tetap.