TỔNG QUAN VỀ VẤN ĐỀ KHỬû ĐỆ QUY

Một phần của tài liệu Giáo trình kỹ năng lập trình nâng cao (Trang 32 - 33)

Đệ quy là phương pháp giúp chúng ta tìm giải thuật cho các bài tốn khĩ . Giải thuật giải bài tốn bằng đệ quy thường rất đẹp (gọn gàng, dễ hiểu ,dễ chuyển thành

Kỹ thuật lập trình nâng cao - 33 -

chương trình trên các NNLT) . Nhưng như đã chỉ ra ở trên việc xử lý giải thuật đệ quy lại thường gây khĩ khăn cho máy tính (tốn khơng gian nhớ và thời gian xử lý), hơn nữa khơng phải mọi NNLT đều cho phép mã hĩa giải thuật đệ quy (ví dụ : FORTRAN) . Vì vậy việc thay thế một chương trình đệ quy ( cĩ chứa chương trình con đệ quy ) bằng một chương trình khơng đệ quy cũng là một vấn đề được quan tâm nhiều trong lập trình .

Một cách tổng quát người ta đã chỉ ra rằng : Mọi giải thuật đệ quy đều cĩ thể thay thế bằng một giải thuật khơng đệ quy . Vấn đề cịn lại là kỹ thuật xây dựng giải thuật khơng đệ quy tương ứng thay thế giải thuật đệ quy . Rất đáng tiếc việc xậy dựng giải thuật khơng đệ quy thay thế cho một giải thuật đệ quy đã cĩ lại là một việc khơng phải bao giờ cũng đơn giản và đến nay vẫn chưa cĩ giải pháp thỏa đáng cho trường hợp tổng quát.

Sơ đồ để xây dựng chương trình cho một bài tốn khĩ khi ta khơng tìm được giải thuật khơng đệ quy thường là :

+ Dùng quan niệm đệ quy để tìm giải thuật cho bài tốn . + Mã hĩa giải thuật đệ quy .

+ Khử đệ quy để cĩ được một chương trình khơng đệ quy .

Tuy nhiên do việc khử đệ quy khơng phải bao giờ cũng dễ và vì vậy trong nhiều trường hợp ta cũng phải chấp nhận sư dụng chương trình đệ quy .

Một phần của tài liệu Giáo trình kỹ năng lập trình nâng cao (Trang 32 - 33)