Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Đỗ Bích Diệp
Số trang: 19
Loại file: pdf
Dung lượng: 338.21 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Cấu trúc dữ liệu và giải thuật - Chương 2: Giải thuật đệ qui" giới thiệu tới người học các kiến thức: Các khái niệm cơ bản về giải thuật đệ qui, các ví dụ bài toán giải thuật đệ qui, phân tích giải thuật đệ qui. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Đỗ Bích Diệp Cấu trúc dữ liệu và giải thuật Cấu trúc dữ liệu và Giải thuật Chương II Giải thuật đệ qui Giải thuật đệ qui Nội dung Các khái niệm cơ bản Một số ví dụ Phân tích giải thuật đệ qui Đố Bích Diệp- Khoa CNTT-ĐHBKHN 1 Cấu trúc dữ liệu và giải thuật Một số đối tượng đệ qui Một số đối tượng đệ qui z Hàm đệ qui: – Là hàm được xác định phụ thuộc vào một biến nguyên không âm n theo sơ đồ: z Bước cơ sở : xác định giá trị hàm tại một giá trị n giá trị nhỏ nhất có thể của biến z Bước đệ qui: Cho giá trị f(k) , đưa ra qui tắc để tính f(k+1) Đố Bích Diệp- Khoa CNTT-ĐHBKHN 2 Cấu trúc dữ liệu và giải thuật Một số đối tượng đệ qui z Tập hợp đệ qui – Là tập được xác định như sau z Bước cơ sở: Định nghĩa tập cơ sở z Bước đệ qui: Xác định qui tắc để sản sinh tập mới từ tập đã có Một số đối tượng đệ qui z Định nghĩa đệ qui của xâu ký tự – A = bảng chữ cái, tập các xâu S trên bảng chữ cái A được xác định z Xâu rỗng là xâu trong S z Nếu w thuộc S và x là một ký tự trong A thì wx là xâu trong S Đố Bích Diệp- Khoa CNTT-ĐHBKHN 3 Cấu trúc dữ liệu và giải thuật Một số đối tượng đệ qui z Cây – Định nghĩa đệ qui của cây z Một nút tạo thành 1 cây z Nếu có n cây T1, T2, …, Tn với nút gốc là r1, r2, … , rn; r là một nút có quan hệ cha-con r1, r2, … , rn thì tồn tại một cây mới T nhận r làm gốc Giải thuật đệ qui – Định nghĩa: Giải thuật đệ qui là giải thuật được định nghĩa sử dụng chính giải thuật có dạng giống nó – Cấu trúc của một thuật toán đệ qui bao gồm 2 bước z Bước cơ sở – Với những giá trị đầu vào đủ nhỏ, bài toán có thể giải quyết trực tiếp z Bước đệ qui – Lời gọi đến giải thuật đang định nghĩa – Lời gọi đệ qui phải được định nghĩa để nó tiến gần hơn đến bước cơ sở Đố Bích Diệp- Khoa CNTT-ĐHBKHN 4 Cấu trúc dữ liệu và giải thuật Các dạng giải thuật đệ qui – Đệ qui trực tiếp : AÆ A – Đệ qui gián tiếp: AÆB Æ…ÆA – Đệ qui đuôi z Lời gọi đệ qui luôn luôn nằm cuối cùng trong giải thuật Giải thuật đệ qui – Ví dụ: Hàm tính n! ⎧ 1 if n = 0 Fact ( n) = ⎨ ⎩n * Fact ( n − 1) if n > 0 Function recursiveFactorial(n) Begin {Tính giá trị n! } Trường hợp cơ sở 1. if n = 0 then return 1 else return n*FACT(n-1); 2. End. Lời gọi đệ qui Tổ hợp kết quả Đố Bích Diệp- Khoa CNTT-ĐHBKHN 5 Cấu trúc dữ liệu và giải thuật Giải thuật đệ qui – Hình dung việc thực hiện giải thuật tính n! return 4 * 6 = 24 final answer call recursiveFactorial (4 ) call return 3 *2 = 6 recursiveFactorial (3 ) call return 2 *1 = 2 recursiveFactorial (2 ) call return 1 *1 = 1 recursiveFactorial (1 ) call return 1 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Đỗ Bích Diệp Cấu trúc dữ liệu và giải thuật Cấu trúc dữ liệu và Giải thuật Chương II Giải thuật đệ qui Giải thuật đệ qui Nội dung Các khái niệm cơ bản Một số ví dụ Phân tích giải thuật đệ qui Đố Bích Diệp- Khoa CNTT-ĐHBKHN 1 Cấu trúc dữ liệu và giải thuật Một số đối tượng đệ qui Một số đối tượng đệ qui z Hàm đệ qui: – Là hàm được xác định phụ thuộc vào một biến nguyên không âm n theo sơ đồ: z Bước cơ sở : xác định giá trị hàm tại một giá trị n giá trị nhỏ nhất có thể của biến z Bước đệ qui: Cho giá trị f(k) , đưa ra qui tắc để tính f(k+1) Đố Bích Diệp- Khoa CNTT-ĐHBKHN 2 Cấu trúc dữ liệu và giải thuật Một số đối tượng đệ qui z Tập hợp đệ qui – Là tập được xác định như sau z Bước cơ sở: Định nghĩa tập cơ sở z Bước đệ qui: Xác định qui tắc để sản sinh tập mới từ tập đã có Một số đối tượng đệ qui z Định nghĩa đệ qui của xâu ký tự – A = bảng chữ cái, tập các xâu S trên bảng chữ cái A được xác định z Xâu rỗng là xâu trong S z Nếu w thuộc S và x là một ký tự trong A thì wx là xâu trong S Đố Bích Diệp- Khoa CNTT-ĐHBKHN 3 Cấu trúc dữ liệu và giải thuật Một số đối tượng đệ qui z Cây – Định nghĩa đệ qui của cây z Một nút tạo thành 1 cây z Nếu có n cây T1, T2, …, Tn với nút gốc là r1, r2, … , rn; r là một nút có quan hệ cha-con r1, r2, … , rn thì tồn tại một cây mới T nhận r làm gốc Giải thuật đệ qui – Định nghĩa: Giải thuật đệ qui là giải thuật được định nghĩa sử dụng chính giải thuật có dạng giống nó – Cấu trúc của một thuật toán đệ qui bao gồm 2 bước z Bước cơ sở – Với những giá trị đầu vào đủ nhỏ, bài toán có thể giải quyết trực tiếp z Bước đệ qui – Lời gọi đến giải thuật đang định nghĩa – Lời gọi đệ qui phải được định nghĩa để nó tiến gần hơn đến bước cơ sở Đố Bích Diệp- Khoa CNTT-ĐHBKHN 4 Cấu trúc dữ liệu và giải thuật Các dạng giải thuật đệ qui – Đệ qui trực tiếp : AÆ A – Đệ qui gián tiếp: AÆB Æ…ÆA – Đệ qui đuôi z Lời gọi đệ qui luôn luôn nằm cuối cùng trong giải thuật Giải thuật đệ qui – Ví dụ: Hàm tính n! ⎧ 1 if n = 0 Fact ( n) = ⎨ ⎩n * Fact ( n − 1) if n > 0 Function recursiveFactorial(n) Begin {Tính giá trị n! } Trường hợp cơ sở 1. if n = 0 then return 1 else return n*FACT(n-1); 2. End. Lời gọi đệ qui Tổ hợp kết quả Đố Bích Diệp- Khoa CNTT-ĐHBKHN 5 Cấu trúc dữ liệu và giải thuật Giải thuật đệ qui – Hình dung việc thực hiện giải thuật tính n! return 4 * 6 = 24 final answer call recursiveFactorial (4 ) call return 3 *2 = 6 recursiveFactorial (3 ) call return 2 *1 = 2 recursiveFactorial (2 ) call return 1 *1 = 1 recursiveFactorial (1 ) call return 1 ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu Bài giảng Giải thuật Phân tích giải thuật đệ qui Giải thuật đệ qui Bài toán giải thuật đệ quiTài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 319 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 163 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 152 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 143 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 139 0 0 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 125 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 3 - Một số mô hình thuật toán
42 trang 74 0 0 -
Ứng dụng và cài đặt cấu trúc dữ liệu bằng C: Phần 1
338 trang 73 0 0 -
49 trang 72 0 0