Perbezaan Antara Algoritma Rawak dan Rekursif

Anonim

Algoritma Rawak vs 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 cekap. Algoritma rekursif adalah berdasarkan kepada idea bahawa penyelesaian kepada masalah boleh didapati dengan mencari penyelesaian kepada masalah kecil 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.

Apa itu 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 kekangan dan ia mempunyai masa berjalan O (n log n) tanpa mengira sifat input. Tambahan pula, 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 adalah 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 solusi untuk sub masalah yang lebih kecil dari 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 telah diperiksa sebelum rujukan itu sendiri. Langkah awal algoritma rekursif berkaitan dengan klausa asas definisi rekursif masalah. Langkah-langkah yang mengikuti langkah awal berkaitan dengan klausa induktif masalah ini. 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, sedangkan algoritma rekursif adalah algoritma yang berdasarkan pada idea bahawa penyelesaian kepada masalah dapat ditemukan dengan mencari solusi untuk sub masalah yang lebih 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.