Cấu trúc dữ liệu và giải thuật - chương 5
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Cấu trúc dữ liệu và giải thuật - chương 5 A CCẤU TRÚC DỮ LIỆU VÀ B F GIẢI THUẬT (501040) D E G Chương 5: Đệ qui K H Khái niệm đệ qui Khái niệm (định nghĩa) đệ qui có dùng lại chính nó. Ví dụ: giai thừa của n là 1 nếu n là 0 hoặc là n nhân cho giai thừa của n-1 nếu n > 0 Quá trình đệ qui gồm 2 phần: Trường hợp cơ sở (base case) Trường hợp đệ qui: cố gắng tiến về trường hợp cơ sở Ví dụ trên: Giai thừa của n là 1 nếu n là 0 Giai thừa của n là n * (giai thừa của n-1) nếu n>0 2 Chương 5: Đệ qui Khoa Công nghệ Thông tinĐH Bách Khoa Tp.HCM Tính giai thừa Định nghĩa không đệ qui: n! = n * (n-1) * … * 1 Định nghĩa đệ qui: nếu n=0 n! = 1 nếu n>0 n * (n-1)! Mã C++: int factorial(int n) { if (n==0) return 1; else return (n * factorial(n - 1)); } 3 Chương 5: Đệ qui Khoa Công nghệ Thông tinĐH Bách Khoa Tp.HCM Thi hành hàm tính giai thừa factorial (3) n=3 factorial (2) … n=2 3*factorial(2) … factorial (1) 6 n=1 2*factorial(1) … 2 factorial (0) n=0 1*factorial(0) … 1 return 1; 1 4 Chương 5: Đệ qui Khoa Công nghệ Thông tinĐH Bách Khoa Tp.HCM Trạng thái hệ thống khi thi hành hàm tính giai thừa Stack hệ thống factorial(0) factorial(1) factorial(1) factorial(1) factorial(2) factorial(2) factorial(2) factorial(2) factorial(2) factorial(3) factorial(3) factorial(3) factorial(3) factorial(3) factorial(3) factorial(3) t Thời gian hệ thống Trả về từ Trả về từ Trả về từ Trả về từ Gọi hàm Gọi hàm Gọi hàm Gọi hàm hàm hàm hàm hàm factorial(3) factorial(2) factorial(1) factorial(0) factorial(0 factorial(1 factorial(2 factorial(3 ) ) ) ) t 5 Chương 5: Đệ qui Khoa Công nghệ Thông tinĐH Bách Khoa Tp.HCM Bài toán Tháp Hà nội Luật: Di chuyển mỗi lần một đĩa Không được đặt đĩa lớn lên trên đĩa nh ỏ 6 Chương 5: Đệ qui Khoa Công nghệ Thông tinĐH Bách Khoa Tp.HCM Bài toán Tháp Hà nội – Thiết kế hàm Hàm đệ qui: Chuyển (count-1) đĩa trên đỉnh của cột start sang c ột temp Chuyển 1 đĩa (cuối cùng) của cột start sang cột finish Chuyển count-1 đĩa từ cột temp sang cột finish magic 7 Chương 5: Đệ qui Khoa Công nghệ Thông tinĐH Bách Khoa Tp.HCM Bài toán Tháp Hà nội – Mã C++ void move(int count, int start, int finish, int temp) { if (count > 0) { move(count − 1, start, temp, finish); cout Bài toán Tháp Hà nội – Thi hành ...
Tìm kiếm theo từ khóa liên quan:
cấu trúc dữ liệu giải thuật stack vầ queue liên kết đệ qui danh sách và chuỗiTài liệu cùng danh mục:
-
Tìm hiểu về lỗi tràn bộ đệm (Buffer Overflow)
5 trang 364 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 345 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 7 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
16 trang 335 0 0 -
180 trang 274 0 0
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 253 0 0 -
173 trang 248 2 0
-
Bài giảng Phân tích thiết kế và giải thuật - Chương 2: Kỹ thuật thiết kế giải thuật
80 trang 245 0 0 -
Kiến thức phần cứng máy tính - Sửa chữa nâng cấp và cài đặt máy tính xách tay Tập 2
483 trang 243 3 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 243 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 6 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
12 trang 240 0 0
Tài liệu mới:
-
Bài giảng Đại cương về kỹ thuật - Trường Đại học Kỹ thuật Công nghiệp
190 trang 0 0 0 -
Giáo trình chuyên đề thực tế Công nghệ chế tạo máy 2 - Trường Đại học Kỹ thuật Công nghiệp
48 trang 0 0 0 -
Giáo trình Hệ thống phun nhiên liệu - Trường Đại học Kỹ thuật Công nghiệp
102 trang 0 0 0 -
38 trang 0 0 0
-
Đề thi học kì 1 môn Toán lớp 10 năm 2024-2025 - Trường PTDTNT THCS&THPT Nước Oa
3 trang 0 0 0 -
Đề thi học kì 1 môn KHTN lớp 8 năm 2024-2025 - Trường THCS Thượng Thanh, Long Biên
3 trang 0 0 0 -
Đề thi học kì 1 môn Công nghệ lớp 7 năm 2024-2025 - Trường THCS Việt Hưng, Long Biên
3 trang 2 0 0 -
Đề thi học kì 1 môn KHTN lớp 9 năm 2024-2025 - Trường THCS Lê Văn Tám, Tiên Phước
4 trang 1 0 0 -
Về tục thờ mẫu của cư dân ven biển xứ Quảng
7 trang 1 0 0 -
34 trang 0 0 0