99 Học Python - Tính Số Fibonacci Hai cách tính và so sánh hiệu suất
DANH SÁCH TÓM TẮT:
Dãy Fibonacci là một dãy số bắt đầu từ 0 và 1, trong đó mỗi số tiếp theo là tổng của hai số trước đó. Cụ thể, công thức tổng quát như sau:
Bài 99 Học Python – Tính Số Fibonacci Hai cách tính và so sánh hiệu suất mới nhất
Đây là cách tiếp cận đơn giản và dễ hiểu nhưng không tối ưu về mặt hiệu suất.
def fibonacci_de_quy(n):
if n <= 1:
return n
return fibonacci_de_quy(n-1) + fibonacci_de_quy(n-2)
# Ví dụ sử dụng
print(fibonacci_de_quy(10)) # Kết quả: 55 Ưu điểm:
Nhược điểm:
Sử dụng cách tiếp cận lập trình động giúp giảm số lần tính toán bằng cách lưu trữ kết quả trung gian.
def fibonacci_lap(n):
if n <= 1:
return n
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b
# Ví dụ sử dụng
print(fibonacci_lap(10)) # Kết quả: 55 Ưu điểm:
Nhược điểm:
| Phương pháp | Độ phức tạp | Tốc độ thực thi | Bộ nhớ sử dụng |
|---|---|---|---|
| Đệ quy | O(2^n) | Chậm | Cao |
| Lặp (Dynamic) | O(n) | Nhanh | Thấp |
Tóm lại, nếu cần tính Fibonacci cho giá trị nhỏ thì đệ quy có thể là một cách tiếp cận đơn giản. Tuy nhiên, khi làm việc với số lớn, sử dụng phương pháp lặp sẽ giúp tối ưu hiệu suất và tiết kiệm tài nguyên.
Bạn thích phương pháp nào hơn? Hãy thử chạy hai đoạn mã trên và tự kiểm chứng nhé!
Khóa học Python online từ cơ bản đến nâng cao
Bạn đang tìm kiếm nguồn tài liệu ôn thi học sinh giỏi Tin học lớp…
Phần 2: Tải ngay 200 Bài lập trình Python có lời giải cơ bản đến…
Tổng Hợp Các Hàm Python "Cốt Lõi" Khi Thi HSG Tỉnh Và Vào 10 Chuyên…
Nếu bạn đang ôn thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang,…
Tổng Hợp 74 Đề Thi Học Sinh Giỏi Tin Học THCS Cấp Tỉnh Có Đáp…
Tổng hợp 75 Đề thi HSG Tin học THCS Python Cấp Tỉnh (Có Code Giải…
This website uses cookies.