Rawak vs Algoritma Rekursif
Algoritma rawak menggabungkan rasa rawak dalam logiknya dengan membuat pilihan rawak semasa pelaksanaan algoritma. Oleh kerana kekangan ini, tingkah laku algoritma boleh berubah walaupun untuk input tetap. Bagi banyak masalah, algoritma rawak menyediakan penyelesaian paling mudah dan efisien. Algoritma rekursif adalah berdasarkan kepada idea bahawa penyelesaian kepada masalah dapat dijumpai dengan mencari penyelesaian untuk sub masalah yang lebih kecil masalah yang sama. Rekursi digunakan secara meluas untuk mencari penyelesaian kepada masalah dalam sains komputer dan banyak bahasa pengaturcaraan peringkat tinggi menyokong rekursi.
Apakah Algoritma Rawak?
Algoritma rawak menggabungkan rasa rawak dengan membuat pilihan rawak yang memandu pelaksanaan algoritma. Ini biasanya dilakukan dengan mengambil satu set nombor rawak yang dihasilkan oleh penjana nombor pseudorandom sebagai input tambahan. Disebabkan ini, tingkah laku algoritma mungkin berubah walaupun untuk input tetap. Quicksort adalah algoritma yang dikenali secara luas yang menggunakan konsep rawak dan ia mempunyai masa berjalan O (n log n) tanpa mengira sifat input. Tambahan lagi, kaedah pembinaan tambahan rawak digunakan untuk struktur bangunan seperti lekuk cembung dalam geometri pengiraan. Dalam kaedah ini, titik input secara rawak dihidupkan dan kemudian dimasukkan satu demi satu ke struktur. Melaksanakan algoritma rawak agak mudah daripada melaksanakan algoritma deterministik untuk masalah yang sama. Cabaran terbesar dalam merekabentuk algoritma rawak terletak pada analisis asimtotik untuk kerumitan masa dan ruang.
Apakah Algoritma Rekursif?
Algoritma rekursif adalah berdasarkan kepada idea bahawa penyelesaian kepada masalah dapat dijumpai dengan mencari penyelesaian untuk sub masalah yang lebih kecil masalah yang sama. Dalam algoritma rekursif, fungsi ditakrifkan dari segi versi awal dirinya sendiri. Adalah penting untuk diperhatikan bahawa rujukan diri ini sepatutnya mempunyai syarat penamatan untuk mengelakkan rujukan sendiri selama-lamanya. Syarat penamatan itu diperiksa sebelum rujukan itu sendiri. Langkah awal algoritma rekursif berkaitan dengan klausa dasar definisi rekursif masalah. Langkah-langkah yang mengikuti langkah awal adalah berkaitan dengan klausa induktif masalah tersebut. Algoritma rekursif memberikan penyelesaian yang lebih mudah dalam banyak situasi dan ia lebih dekat dengan cara pemikiran semulajadi daripada algoritma iteratif untuk masalah yang sama. Tetapi pada umumnya, algoritma rekursif memerlukan lebih banyak ingatan dan mereka secara komputasi mahal.
Apakah perbezaan antara Algoritma Rawak dan Algoritma Rekursif?
Algoritma rawak adalah algoritma yang menggunakan rasa rawak dengan membuat pilihan rawak yang boleh menjejaskan pelaksanaan algoritma, manakala algoritma rekursif adalah algoritma yang berdasarkan pada idea bahawa penyelesaian kepada masalah dapat dijumpai dengan mencari penyelesaian untuk sub masalah kecil masalah yang sama. Oleh kerana rawak dalam algoritma rawak, tingkah laku algoritma boleh berubah walaupun untuk input yang sama (dalam eksekusi algoritma yang berbeza). Tetapi ini tidak mungkin dalam algoritma rekursif dan tingkah laku algoritma rekursif akan sama untuk input tetap.