Bài tập đệ quy
I. Đệ quy cơ bản – Số học
- Tính giai thừa n!
- Tính số Fibonacci thứ n
- Tính tổng các chữ số của một số
- Tính tổng từ 1 đến n
- Đếm số chữ số của một số nguyên
- Tính lũy thừa a^b
- Chuyển đổi số thập phân sang nhị phân
- Kiểm tra số nguyên tố bằng đệ quy
- Tìm ước số chung lớn nhất (GCD)
- Tính bội số chung nhỏ nhất (LCM)
II. Chuỗi và xâu ký tự
- Đảo ngược chuỗi bằng đệ quy
- Kiểm tra chuỗi Palindrome
- Đếm số lần xuất hiện của một ký tự
- Xóa dấu cách trong chuỗi
- Chuyển chữ thường thành chữ hoa (dùng đệ quy)
- Tách từng từ ra từ chuỗi bằng đệ quy
- Đếm số từ trong chuỗi
- Thay thế ký tự trong chuỗi
- So sánh hai chuỗi bằng đệ quy
- Chuyển chuỗi số thành số nguyên (string to int)
III. Mảng và danh sách
- Tìm phần tử lớn nhất trong mảng
- Tính tổng các phần tử trong mảng
- Đếm số phần tử chẵn trong mảng
- Đảo ngược mảng bằng đệ quy
- Tìm số lần xuất hiện của một phần tử
- Tìm chỉ số đầu tiên của phần tử x
- Kiểm tra mảng có đối xứng không
- Sắp xếp mảng tăng dần bằng đệ quy
- Gộp hai mảng theo thứ tự tăng dần
- Tính trung bình cộng các phần tử
IV. Cấu trúc dữ liệu (cây, danh sách liên kết, đồ thị)
- Duyệt cây nhị phân Inorder
- Duyệt cây nhị phân Preorder
- Duyệt cây nhị phân Postorder
- Tính chiều cao của cây nhị phân
- Đếm số node lá trong cây
- Tìm node lớn nhất trong cây
- Chèn node mới vào cây nhị phân
- Kiểm tra cây có phải BST không
- Duyệt đồ thị bằng DFS (đệ quy)
- Đảo ngược danh sách liên kết đơn bằng đệ quy
V. Thuật toán & bài toán kinh điển
- Tháp Hà Nội với n đĩa
- Thuật toán Quicksort
- Thuật toán Mergesort
- Giải bài toán N quân hậu
- Giải Sudoku bằng quay lui
- Liệt kê các tổ hợp từ 1 đến n
- Liệt kê các hoán vị của dãy số
- Giải bài toán Tìm đường trong mê cung
- Đếm số cách leo cầu thang (n bước, mỗi bước 1 hoặc 2)
- Tìm tập con có tổng bằng k (subset sum)