Rekursi dan Backtracking. Pemrograman rekursif, call stack, dan eksplorasi state dengan backtracking.
Setiap Chapter pada Section ini disusun bertahap: konsep dasar, implementasi C++, lalu latihan dan refleksi. Pastikan pembaca menyelesaikan Chapter sebelumnya karena topik saling berkaitan.
Fungsi yang memanggil dirinya sendiri untuk menyelesaikan sub-masalah.
Buka → # Base Case dan Recursive CaseDua komponen wajib agar rekursi berhenti dan benar.
Buka → # Call StackBagaimana compiler mengelola frame pemanggilan rekursif.
Buka → # Rekursi vs IterasiTrade-off rekursif vs iteratif: keterbacaan, overhead, depth limit.
Buka → # Rekursi BercabangRekursi dengan dua atau lebih panggilan diri — pemicu ledakan eksponensial.
Buka → # BacktrackingEksplorasi pohon kemungkinan dengan pemilihan, eksplorasi, dan undo.
Buka → # PruningMemotong cabang yang tidak menjanjikan lebih awal.
Buka → # Permutation dan CombinationMembangkitkan permutasi dan kombinasi dengan rekursi.
Buka → # Subset GenerationMembangkitkan semua subset suatu himpunan.
Buka → # Analisis Kompleksitas BacktrackingBranching factor, depth, dan kompleksitas total algoritma backtracking.
Buka →