Rekursi merupakan metode suatu proses memanggil dirinya sendiri yang digunakan untuk mengganti perulangan.[1] Pendekatan ini dapat diterapkan pada berbagai jenis masalah dan rekursi adalah salah satu ide utama dari ilmu komputer.[2]
Rekursi Fungsi dan Algoritma
Salah satu strategi yang sering digunakan dalam merancang algoritma adalah dengan membagi masalah menjadi beberapa masalah kecil yang memiliki tipe yang sama dengan masalah aslinya, menyelesaikan masalah kecil tersebut dan kemudian menggabungkan hasilnya. Pendekatan ini dikenal sebagai metode Divide and Conquer. Ketika digabungkan dengan penggunaan tabel pencarian untuk menyimpan hasil dari masalah kecil yang telah dipecahkan sebelumnya (sehingga menghindari pemecahan berulang dan mengurangi waktu komputasi tambahan), pendekatan ini dapat disebut sebagai pemrograman dinamis atau memoization.[3][4]
Referensi
- ^ Sismoro, Heri; Amikom, Universitas. Pengantar Logika Informatika. Algoritma dan Pemrograman Komputer. Penerbit Andi. ISBN 978-979-763-004-1.
- ^ Epp, Susanna S. (1995). Discrete mathematics with applications. Internet Archive. Pacific Grove, CA : Brooks/Cole. ISBN 978-0-534-94446-9.
- ^ Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001). Introduction To Algorithms (dalam bahasa Inggris). MIT Press. ISBN 978-0-262-03293-3.
- ^ Meenakshi; Rawat, Kamal (2017-01-18). Dynamic Programming for Coding Interviews: A Bottom-Up approach to problem solving (dalam bahasa Inggris). Notion Press. ISBN 978-1-946556-70-7.