Perbedaan Algoritma Acak dan Rekursif

Perbedaan Algoritma Acak dan Rekursif
Perbedaan Algoritma Acak dan Rekursif

Video: Perbedaan Algoritma Acak dan Rekursif

Video: Perbedaan Algoritma Acak dan Rekursif
Video: Apa itu Amalgamasi? Ini Pengertian, Contoh dan Dampaknya 2024, November
Anonim

Algoritma Acak vs Rekursif

Algoritme acak menggabungkan rasa keacakan dalam logikanya dengan membuat pilihan acak selama eksekusi algoritme. Karena keacakan ini, perilaku algoritma dapat berubah bahkan untuk input tetap. Untuk banyak masalah, algoritma acak memberikan solusi yang paling sederhana dan efisien. Algoritma rekursif didasarkan pada gagasan bahwa solusi untuk suatu 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?

Algoritme acak menggabungkan rasa keacakan dengan membuat pilihan acak yang memandu eksekusi algoritme. Ini biasanya dilakukan dengan mengambil satu set angka acak yang dihasilkan oleh generator angka pseudorandom sebagai input tambahan. Karena ini, perilaku algoritme dapat berubah bahkan untuk input tetap. Quicksort adalah algoritma yang dikenal luas yang menggunakan konsep keacakan dan memiliki waktu berjalan O(n log n) terlepas dari properti input. Selanjutnya, metode konstruksi inkremental acak digunakan untuk struktur bangunan seperti lambung cembung dalam geometri komputasi. Dalam metode ini, titik-titik input diubah 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 asimtotik untuk kompleksitas ruang dan waktu.

Apa itu Algoritma Rekursif?

Algoritma rekursif didasarkan pada gagasan bahwa solusi untuk suatu masalah dapat ditemukan dengan menemukan solusi untuk sub masalah yang lebih kecil dari masalah yang sama. Dalam algoritma rekursif, suatu fungsi didefinisikan dalam versi sebelumnya dari dirinya sendiri. Penting untuk dicatat bahwa referensi diri ini harus memiliki kondisi penghentian untuk menghindari referensi itu sendiri selamanya. Kondisi terminasi diperiksa sebelum mereferensikan dirinya sendiri. Langkah awal dari algoritma rekursif terkait dengan klausa dasar dari definisi rekursif masalah. Langkah-langkah yang mengikuti langkah awal terkait dengan klausa induktif dari masalah. Algoritma rekursif memberikan solusi yang lebih sederhana dalam banyak situasi dan lebih mendekati cara berpikir alami daripada algoritma iteratif untuk masalah yang sama. Namun secara umum, algoritma rekursif membutuhkan lebih banyak memori dan secara komputasi mahal.

Apa perbedaan antara Algoritma Acak dan Algoritma Rekursif?

Algoritme 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 suatu masalah dapat ditemukan dengan mencari solusi untuk sub masalah yang lebih kecil dari masalah yang sama. Karena keacakan dalam algoritme acak, perilaku algoritme dapat berubah bahkan untuk input yang sama (dalam eksekusi algoritme yang berbeda). Tapi ini tidak mungkin dalam algoritma rekursif dan perilaku algoritma rekursif akan sama untuk input tetap.

Direkomendasikan: