Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Đệ quy và cách khử
MIỄN PHÍ
Số trang
13
Kích thước
113.0 KB
Định dạng
PDF
Lượt xem
1753

Đệ quy và cách khử

Nội dung xem thử

Mô tả chi tiết

Giải thuật khử đệ quy

Nguyễn Văn Trường

Các khái niệm về đệ quy (ĐQ), giảithuật đệ quy (GTĐQ) được gặp nhiều trong tin học.

GTĐQ được dùng khá phổ biếnđể giải các bài toán tính các công thức hồi quy, các bài toán

khoa học kỹ thuậtvà đặc biệt được dùng nhiều trong cấu trúc dữ liệu cây. Hiện nay một số

ngônngữ lập trình phổ biến như: Pascal, PL1... cho phép gọi các thủ tục ĐQ (phươngtiện

để thể hiện GTĐQ), nên việc cài đặt các GTĐQ đã trở lên khá dễ dàng, cóhiệu quả và phản

ánh rất sát nội dung của định nghĩa ĐQ. Tuy nhiên, điều đókhông có nghĩa là đảm bảo

rằng GTĐQ là cách tốt nhất để giải bài toán,bởi vì quá trình dịch GTĐQ trong các ngôn

ngữ cho gọi thủ tục ĐQ tốn nhiềuthời gian và bộ nhớ hơn. Do đó, chúng ta sẽ nghiên cứu

vấn đề chuyểncác GTĐQ bằng các giải thuật không tự gọi chúng (không ĐQ) hay còn gọi

là giảithuật khử ĐQ (GTKĐQ).

Sau đây là mộtví dụ đơn giản sử dụng giải thuật lặp để tính số hạng thứ n của dãy

sốFibonacithay cho GTĐQ tương ứng:

Function F(n:Byte): Longint; { GTĐQ }

Begin

If n < 3 then F: = 1

Else F: = F(n-1) + F(n - 2);

End;

Function F(n: Byte): Longint; { GTKĐQ }

Var F1,F2 : longint;i: Byte;

Begin

If n < 3 then F: = 1

Else Begin

F1: = 1; F2 =1; i: = 2;

Whilei < n do

Begini: = i + 1; F2: = F1 + F2; F1: = F2 - F1; End;

Tải ngay đi em, còn do dự, trời tối mất!