DATA STRUCTURE AND ALGORITHM<br />
Recursive Factorial<br />
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT<br />
Tìm giai thừa bằng đệ qui<br />
Dr. Dao Nam Anh<br />
<br />
Data Structure and Algorithm<br />
<br />
1<br />
<br />
Resource - Reference<br />
Slides adapted from Robert Sedgewick, and Kevin<br />
Wayne, edit by Dao Nam Anh.<br />
Major Reference:<br />
<br />
•<br />
<br />
Robert Sedgewick, and Kevin Wayne, “Algorithms”<br />
Princeton University, 2011, Addison Wesley<br />
<br />
•<br />
<br />
Algorithm in C (Parts 1-5 Bundle)- Third Edition by<br />
Robert Sedgewick, Addison-Wesley<br />
<br />
•<br />
<br />
Cấu trúc dữ liệu và giải thuật, Đinh Mạnh Tường.<br />
<br />
•<br />
<br />
Giải thuật và lập trình, Lê Minh Hoàng, Đại Học<br />
Sư Phạm, 2002<br />
Data Structure and Algorithm<br />
<br />
2<br />
<br />
Recursive Factorial<br />
Tính giai thừa, dùng đệ qui<br />
pubic class Factorial {<br />
public static int fact(int n) {<br />
if (n == 0) return 1;<br />
else return n * fact(n-1);<br />
}<br />
public static void main(String[] args) {<br />
System.out.println(fact(3));<br />
}<br />
}<br />
<br />
Data Structure and Algorithm<br />
<br />
3<br />
<br />
n=3<br />
environment<br />
<br />
fact(3)<br />
static int fact(int n) {<br />
if (n == 0) return 1;<br />
else return n * fact(n-1);<br />
}<br />
<br />
Data Structure and Algorithm<br />
<br />
4<br />
<br />
n=3<br />
environment<br />
<br />
fact(3)<br />
static int fact(int n) {<br />
if (n == 0) return 1;<br />
else return n * fact(n-1);<br />
}<br />
<br />
Data Structure and Algorithm<br />
<br />
5<br />
<br />