... biến
16
6. Đệquy (Recursion)
6. Đệquy (Recursion)
Ch ng 2: Hàm – Đ quy ơ ệ
7. Các loại đệ quy
7. Các loại đệ quy
Đệ quy lồng (Nested Recursion)
◦
trong đệquy lồng, tham số trong lời gọi đệquy ... Đ quy ơ ệ
Giải một số bài tập đệ quy
Giải một số bài tập đệ quy
A
B C
2 đĩa
Ch ng 2: Hàm – Đ quy ơ ệ
7. Các loại đệ quy
7. Các loại đệ quy
Đệ quy mũ (Exponential Recursion)
◦
là loại đệquy ...
6. Đệquy (Recursion)
6. Đệquy (Recursion)
Ch ng 2: Hàm – Đ quy ơ ệ
Giải một số bài tập đệ quy
Giải một số bài tập đệ quy
A
B C
2 đĩa
Ch ng 2: Hàm – Đ quy ơ ệ
19
6. Đệquy (Recursion)
6. Đệ...
... butes)
x
13
5- Phân loại hàm đệ quy
Tùy thuộc cách diễn đạt tác vụ đệquy mà
có các loại đệquy sau.
(1) Đệquy tuyến tính.
(2) Đệquy nhị phân.
(3) Đệquy phi tuyến
(4) Đệquy hỗ tương.
42
Bài ... viết hàm
đệ quy rất ngắn gọn.
Vòng lặp và stack là những kỹ thuật giúp khử
giải thuật đệ quy.
33
9- Nhận xét về hàm đệ quy
HÀM ĐỆ QUY: Vừa tốn bộ nhớ
vừa chạy chậm
Giải thuật đệquy đẹp ... không hỗ trợ giải thuật đệquy
(Fortran).
Nhiều giải thuật rất dễ mô tả dạng đệquy nhưng
lại rất khó mô tả với giải thuật không -đệ- quy.
28
Cách thực thi 1 hàm đệ quy
Xét hàm tính giai...
... {S → AB| BS; A → AA| AS|a|b; B → AB} Sau khi
loại bỏ đệquy trái cho biến A đầu tiên và gọi A’ là biến mới được sinh
ra từ việc loại bỏ đệquy trái này. Trong văn phạm biến B có bao nhiêu
luật ... {S → AB| BS; A → AA| AS|a|b; B → AB} Sau khi
loại bỏ đệquy trái cho biến A đầu tiên và gọi A’ là biến mới được sinh
ra từ việc loại bỏ đệquy trái này. Trong văn phạm biến S có bao nhiêu
luật ... bỏ đệquy
trái cho các biến trong văn phạm G. Trong văn phạm có tất cả bao
nhiêu luật sinh?
A) 4
B) 6
C) 8
D) 10
Đáp án
Câu 27
Cho văn phạm G = { S → Aa|b; A→Ab | Sa} Sau khi loại bỏ đệ quy...
... cho
phép đệ qui, nhưng như vậy không có nghĩa là ta bó tay trước một bài toán
mang tính đệ qui. Mọi giải thuật đệ qui đều có cách thay thế bằng một giải
thuật không đệ qui (khử đệ qui), có ... <test>;
END.
II. LÝ THUYẾT VỀ ĐỆ QUI
1.KHÁI NIỆM VỀ ĐỆ QUI
Ta nói một đối tượng là đệ qui nếu nó được định nghĩa qua chính nó hoặc
một đối tượng khác cùng dạng với chính nó bằng quy nạp.
Ví dụ: Qua 2 ... 3*2
bước 4:
Với đồ thị trên, đỉnh xuất phát S= 1; quá trình duyệt đệquy có thể vẽ trên
cây tìm kiếm DFS sau (mũi tên u v chỉ thao tác đệ qui: DFS(u) gọi
DFS(v)).
Thứ tự duyệt là DFS(1) DFS(2)...
... thực hiện mô phỏng.
2. Đệ quy:
2.1. Đệquy là gì?
2.1.1. Vai trò và định nghĩa của đệ quy.
2.1.2. Giải thuật đệ quy.
2.1.3. Thủ tục đệ quy.
2.1.4. Thiết kế thủ tục đệ quy.
NĂM 2008
2
Nguyễn ... phỏng thuật toán đệ quy.
Ta sử dụng thủ tục đệ quy: Với những gì bài toán yêu cầu và
hướng giải quy t như trên thì việc dùng giải thuật đệquy là hợp
lý nhất.Ta có giải thuật đệquy sau:
Procedure ... ngoài hàm đệquy thì một loạt các biến cục bộ
tạo ra do dùng đệquy lúc này mới được giải phóng, và chúng sẽ
giải phóng trước các biến cục bộ (sinh ra do đệ quy) tạo ra sau.
Sử dụng đệquy là...
... (khử đệ quy)
Tiện cho người lập trình nhưng không tối ưu
khi chạy trên máy.
Bước đầu nên giải bằng đệquy nhưng từng
bước khử đệquyđể nâng cao hiệu quả.
NMLT - Kỹ thuật lập trình đệ quy
VC
&
BB
4343
Bài ... Các dòng
NMLT - Kỹ thuật lập trình đệ quy
j = 3
i = 2
j-i+n-1=8
j+i=5
VC
&
BB
55
Khái niệm đệ quy
NMLT - Kỹ thuật lập trình đệ quy
Khái niệm
Vấn đềđệquy là vấn đề được
định nghĩa bằng ... do:
Thuật giải đệquy đúng nhưng số lần gọi đệ
quy quá lớn làm tràn STACK.
Thuật giải đệquy sai do không hội tụ hoặc
không có điều kiện dừng.
NMLT - Kỹ thuật lập trình đệ quy
VC
&
BB
2222
2.Chia...
... thứ 1 đến từ thứ jvào một số dòng,
hệ số phạt củacác từ thứ j+1 đến từ thứ i vào một dòng(=L-S)}
Đệ quy có nhớ
Đỗ Đức Đông
Bài toán 1: Số Fibonacci
Xét dãy số Fibonacci: 1, 1,2, 3, 5, 8, 11, ; trong ... tối ưu.
+ Hạn chế của phương pháp là có thể bị tràn Stack (do đệ qui quá sâu)nên khi giải các bạn
hãy mở rộng Stackhoặc dùng khử đệ qui.
Bài tập tự giải:
1. Tìm số cách phân tích số tự nhiên ... tự.
rewrite(f);
write(f,kq,#32);
viet(n);
close(f);
End;
BEGIN
docf;
kq:=hsp(n);{đi tìm kết quả bài toán}
ghif;
END.
Nhận xét :
+ Để giải bài toán bằngphương pháp " ;Đệ qui có nhớ" ta phải thực hiện các bước sau:
- Bước 1: Chia bài toán thànhcác bài toán con.
-...
... tham số h=1; Khi vẽ bạn nhớ đến điểm khởi đầu, hướng bắt
đầu, độ dài và độ sâu đệ quy. Bạn có thể tạo điểm dừng đệquy cho chiều dài của cạnh, chỉ
thực hiện khi len còn lớn hơn Minlen (tuỳ độ ... cung C xem. Ta có được cung C bậc
n bằng việc thay mỗi đoạn thẳng của cung C bậc n-1 theo cùng quy tắc.
Từ cung C, cung rồng được định nghĩa như sau: (hình)
Tinh chế đoạn thứ hai trong cung...
... trường lập trình mà không cung cấp khảnăng gọi đệ quy. Khử đệquy giúp
bạn vẫn giữ được nguyên bản thuậttoán đệquy của mình mà không hề có lời gọi đệ quy,
và như thếchương trình có thể chạy được ... trong
các hàm đệquy tính n! và số Fibonaci F(n) ta có thểthay bằng một vòng lặp để tính; Đó
không phải là phương pháp kh đệquy mà tôi muốn nói. Trong trường hợp tổng quát, khử
đệ quy làmột việc ... hay F(n) ta có thể dùng một
thuật toán không đệ quy, nhưngtrong một số bài toán, đệquy là bắt buộc. Bạn có thể nói
rằng, vậythì cứ sử dụng đệ quy, vừa ngắn gọn dễ hiểu, vừa dễ cài đặt. Nhưngcó...
... công.
Đệ quy quay lui với các bài toán về đồ thị
Chu Đức Minh
Có lẽ bạn cũng đã làm quen với khái niệm đệ quyvà giải thuật đệquy là thế nào rồi. Nếu
bạn chưa thực sự rõ lắm về giải thuậtđệ quy ... mộtgiải thuật có tính chất đệquy nhưng đặc biệt hơn là nó còn mang tính chất quylui
và lặp lại được gọi là giải thuật đệquy quay lui (Back Tracking).
Thuật toán đệquy quay lui (Back Tracking)
Nét ... thuật đệquyđể cài đặt cho bài toán bởi tính chất mạnh
mẽ vàchặt chẽ của nó. Tuy nhiên cũng có những bài toán thì giải thuật đệquy tỏ rakhông
tác dụng cho lắm, lúc đó giải thuật khử đệ quy...
... hình thoả mãn. Thuật toán đệquy và các vần đề xungquanh đệ
quy đã được nhiều tác giả đề cập đến. Trong bài viết này,tôi cũng sẽ trở lại với chủ đềđệ
quy, nhưng là đệquy quay luitrên mảng hai ...
Duyet(i1,j1);
a:=a1;
end;
end;
Đệ quy quay lui trên mảng 2 chiều và kỹ năng cài đặt
Trương Thị Thu Hường
Duyệt đệquy là một trong những chiến lược đểgiải quy t nhiều bài toán, đặc biệt là ... dàng cài đặt được. Sau đây, tôi muốn giới thiệu với
các bạnmột bài toán được giải quy t theo phương pháp duyệt đệquy quaylui, nhưng trong
khi cài đặt chúng ta cũng có đôi điều cần lưu ý.
Bà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, ... = 1;
Dưới đây là chương trình thể hiện GTKĐQ giải bài toánTháp Hà Nội :
program Thap_HN;{Khu dequy}
var stack: array[1 500]of Byte;
n,a,b,m,c,t:Byte;
Begin
Write(' So tang cua thap:');Readln(n);;
Writeln('thu...
... Đệ qui và giải thuật đệ qui
Quang Hưng
* Khái niệm về đệ qui
Một đối tượng là đệ qui nếu nóbao gồm chính nó như một bộ phận hoặc có được ... thuật đệ quibằng các giải thuật không tự gọi chúng, như giải thuật lặp nêu
trên, được gọilà khử đệ qui.
Tuy vậy, đệ qui vẫn có vai tròxứng đáng của nó. Có những bài toán, việc nghĩ ra lời giải đệ ... được gọi là đệ qui trực
tiếp.Cũng có dạng thủ tục chứa lời gọi đến thủ tục khác mà ở thủ tục này lại chứalời gọi
đến nó. Trường hợp này gọi là đệ qui gián tiếp.
* Thiết kế giải thuật đệ qui
Khi...
... Duyệt đệquy và không đệ quy
Nguyễn Duy Hàm
Phương pháp duyệt là một trong những phương pháp cơ bản để giải các ... -> lùi lại bước trước để xác định lại
thành phần xi-1.
Mô hình quay lui được tổ chức theo đệquy dưới dạng giả mã như sau:
Procedure Duyet(i:Type_var);
Var j: Type_var;
Begin
For j do
If ... của xi phụ thuộc vào các khả năng đã được
xác định trước đó của x1, x2, xi-1, vì vậy khi giải quy t các bài toán cụ thể cần có cách
lưu trạng thái của bài toán tại mỗi bước khi xác định thêm...