Programming Techniques

Bài tập đệ quy

I. Đệ quy cơ bản – Số học

  1. Tính giai thừa n!
  2. Tính số Fibonacci thứ n
  3. Tính tổng các chữ số của một số
  4. Tính tổng từ 1 đến n
  5. Đếm số chữ số của một số nguyên
  6. Tính lũy thừa a^b
  7. Chuyển đổi số thập phân sang nhị phân
  8. Kiểm tra số nguyên tố bằng đệ quy
  9. Tìm ước số chung lớn nhất (GCD)
  10. Tính bội số chung nhỏ nhất (LCM)

II. Chuỗi và xâu ký tự

  1. Đảo ngược chuỗi bằng đệ quy
  2. Kiểm tra chuỗi Palindrome
  3. Đếm số lần xuất hiện của một ký tự
  4. Xóa dấu cách trong chuỗi
  5. Chuyển chữ thường thành chữ hoa (dùng đệ quy)
  6. Tách từng từ ra từ chuỗi bằng đệ quy
  7. Đếm số từ trong chuỗi
  8. Thay thế ký tự trong chuỗi
  9. So sánh hai chuỗi bằng đệ quy
  10. Chuyển chuỗi số thành số nguyên (string to int)

III. Mảng và danh sách

  1. Tìm phần tử lớn nhất trong mảng
  2. Tính tổng các phần tử trong mảng
  3. Đếm số phần tử chẵn trong mảng
  4. Đảo ngược mảng bằng đệ quy
  5. Tìm số lần xuất hiện của một phần tử
  6. Tìm chỉ số đầu tiên của phần tử x
  7. Kiểm tra mảng có đối xứng không
  8. Sắp xếp mảng tăng dần bằng đệ quy
  9. Gộp hai mảng theo thứ tự tăng dần
  10. 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ị)

  1. Duyệt cây nhị phân Inorder
  2. Duyệt cây nhị phân Preorder
  3. Duyệt cây nhị phân Postorder
  4. Tính chiều cao của cây nhị phân
  5. Đếm số node lá trong cây
  6. Tìm node lớn nhất trong cây
  7. Chèn node mới vào cây nhị phân
  8. Kiểm tra cây có phải BST không
  9. Duyệt đồ thị bằng DFS (đệ quy)
  10. Đả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

  1. Tháp Hà Nội với n đĩa
  2. Thuật toán Quicksort
  3. Thuật toán Mergesort
  4. Giải bài toán N quân hậu
  5. Giải Sudoku bằng quay lui
  6. Liệt kê các tổ hợp từ 1 đến n
  7. Liệt kê các hoán vị của dãy số
  8. Giải bài toán Tìm đường trong mê cung
  9. Đếm số cách leo cầu thang (n bước, mỗi bước 1 hoặc 2)
  10. Tìm tập con có tổng bằng k (subset sum)