Algoritma Rawak lwn Rekursif
Algoritma rawak menggabungkan rasa rawak dalam logiknya dengan membuat pilihan rawak semasa pelaksanaan algoritma. Disebabkan oleh rawak ini, tingkah laku algoritma boleh berubah walaupun untuk input tetap. Untuk banyak masalah, algoritma rawak menyediakan penyelesaian yang paling mudah dan cekap. Algoritma rekursif adalah berdasarkan idea bahawa penyelesaian kepada masalah boleh ditemui dengan mencari penyelesaian kepada sub masalah yang lebih kecil daripada masalah yang sama. Rekursi digunakan secara meluas untuk mencari penyelesaian kepada masalah dalam sains komputer dan banyak bahasa pengaturcaraan peringkat tinggi menyokong rekursi.
Apakah itu Algoritma Rawak?
Algoritma rawak menggabungkan rasa rawak dengan membuat pilihan rawak yang membimbing pelaksanaan algoritma. Ini biasanya dilakukan dengan mengambil set nombor rawak yang dijana oleh penjana nombor pseudorandom sebagai input tambahan. Disebabkan ini, tingkah laku algoritma mungkin berubah walaupun untuk input tetap. Quicksort ialah algoritma yang terkenal yang menggunakan konsep rawak dan ia mempunyai masa berjalan O(n log n) tanpa mengira sifat input. Selanjutnya, kaedah pembinaan tambahan rawak digunakan untuk struktur bangunan seperti badan cembung dalam geometri pengiraan. Dalam kaedah ini, titik input dialih secara rawak dan kemudian dimasukkan satu demi satu ke dalam struktur. Melaksanakan algoritma rawak adalah agak mudah daripada melaksanakan algoritma deterministik untuk masalah yang sama. Cabaran terbesar dalam mereka bentuk algoritma rawak terletak pada melakukan analisis asimptotik untuk kerumitan masa dan ruang.
Apakah itu Algoritma Rekursif?
Algoritma rekursif adalah berdasarkan idea bahawa penyelesaian kepada masalah boleh ditemui dengan mencari penyelesaian kepada submasalah yang lebih kecil bagi masalah yang sama. Dalam algoritma rekursif, fungsi ditakrifkan dari segi versi awal itu sendiri. Adalah penting untuk ambil perhatian bahawa rujukan sendiri ini harus mempunyai syarat penamatan untuk mengelakkan rujukan sendiri selama-lamanya. Syarat penamatan diperiksa sebelum merujuk 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 menyediakan penyelesaian yang lebih mudah dalam banyak situasi dan ia lebih dekat dengan cara pemikiran semula jadi daripada algoritma berulang untuk masalah yang sama. Tetapi secara amnya, algoritma rekursif memerlukan lebih banyak memori dan ia mahal dari segi pengiraan.
Apakah perbezaan antara Algoritma Rawak dan Rekursif?
Algoritma rawak ialah algoritma yang menggunakan rasa rawak dengan membuat pilihan rawak yang boleh menjejaskan pelaksanaan algoritma, manakala algoritma rekursif ialah algoritma yang berdasarkan idea bahawa penyelesaian kepada masalah boleh ditemui dengan mencari penyelesaian kepada sub masalah yang lebih kecil daripada masalah yang sama. Disebabkan oleh rawak dalam algoritma rawak, tingkah laku algoritma boleh berubah walaupun untuk input yang sama (dalam pelaksanaan algoritma yang berbeza). Tetapi ini tidak boleh dilakukan dalam algoritma rekursif dan kelakuan algoritma rekursif adalah sama untuk input tetap.