Algoritma rawak vs rekursif
Algoritma secara rawak memasukkan rasa rawak dalam logiknya dengan membuat pilihan rawak semasa pelaksanaan algoritma. Oleh kerana rawak ini, tingkah laku algoritma dapat berubah walaupun untuk input tetap. Untuk banyak masalah, algoritma secara rawak memberikan penyelesaian yang paling mudah dan cekap. Algoritma rekursif didasarkan pada idea bahawa penyelesaian untuk masalah dapat dijumpai dengan mencari penyelesaian untuk sub masalah yang lebih kecil dari masalah yang sama. Recursion digunakan secara meluas untuk mencari penyelesaian masalah dalam sains komputer dan banyak bahasa pengaturcaraan peringkat tinggi menyokong pengulangan.
Apakah Algoritma Rawak?
Algoritma secara 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. Oleh kerana itu, tingkah laku algoritma dapat berubah walaupun untuk input tetap. Quicksort adalah algoritma yang terkenal yang menggunakan konsep rawak dan ia mempunyai masa berjalan O (n log n) tanpa mengira sifat input. Selanjutnya, kaedah pembinaan tambahan secara rawak digunakan untuk struktur bangunan seperti lambung cembung dalam geometri pengiraan. Dalam kaedah ini, titik input disisipkan secara rawak dan kemudian dimasukkan satu persatu ke struktur. Melaksanakan algoritma rawak agak mudah daripada melaksanakan algoritma deterministik untuk masalah yang sama. Cabaran terbesar dalam merancang algoritma rawak terletak pada melakukan analisis asimtotik untuk kerumitan masa dan ruang.
Apa itu Algoritma Rekursif?
Algoritma rekursif didasarkan pada idea bahawa penyelesaian untuk masalah dapat dijumpai dengan mencari penyelesaian untuk sub masalah yang lebih kecil dari masalah yang sama. Dalam algoritma rekursif, fungsi didefinisikan dari segi versi sebelumnya. Penting untuk diperhatikan bahawa rujukan diri ini harus mempunyai syarat penamatan untuk mengelakkan merujuk dirinya selamanya. Keadaan penamatan diperiksa sebelum merujuknya sendiri. Langkah awal algoritma rekursif berkaitan dengan klausa asas definisi rekursif masalah. Langkah-langkah yang mengikuti langkah awal adalah berkaitan dengan klausa induktif masalah. Algoritma rekursif memberikan penyelesaian yang lebih mudah dalam banyak situasi dan lebih dekat dengan cara berfikir semula jadi daripada algoritma berulang untuk masalah yang sama. Tetapi secara umum,algoritma rekursif memerlukan lebih banyak memori dan harganya secara komputasi.
Apakah perbezaan antara Algoritma Rawak dan Rekursif?
Algoritma rawak adalah algoritma yang menggunakan rasa rawak dengan membuat pilihan rawak yang dapat mempengaruhi pelaksanaan algoritma, sementara algoritma rekursif adalah algoritma yang didasarkan pada gagasan bahawa penyelesaian untuk masalah dapat dijumpai dengan mencari jalan keluar untuk masalah sub yang lebih kecil dari masalah yang sama. Oleh kerana rawak dalam algoritma rawak, tingkah laku algoritma dapat berubah walaupun untuk input yang sama (dalam pelaksanaan algoritma yang berbeza). Tetapi ini tidak mungkin berlaku dalam algoritma rekursif dan tingkah laku algoritma rekursif akan sama untuk input tetap.