1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng cấu trúc dữ liệu chương 12 nguyễn xuân vinh

55 327 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Slide 1

  • Nội dung

  • Khái niệm đệ quy

  • Khái niệm đệ quy

  • Khái niệm đệ quy

  • Khái niệm đệ quy

  • Điều kiện viết chương trình đệ quy

  • Khi nào không nên sử dụng đệ quy

  • Ví dụ

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • 6. Đệ quy (Recursion)

  • Slide 23

  • Ví dụ

  • Thiết kế giải thuật đệ quy

  • Thiết kế giải thuật đệ quy

  • Nhận xét

  • Các dạng của đệ quy

  • Giải thuật đệ quy dạng chia để trị

  • Bài toán tháp Hà Nội

  • Giải một số bài tập đệ quy

  • Giải một số bài tập đệ quy

  • Giải một số bài tập đệ quy

  • Giải một số bài tập đệ quy

  • Giải một số bài tập đệ quy

  • Giải một số bài tập đệ quy

  • Giải một số bài tập đệ quy

  • Giải một số bài tập đệ quy

  • Giải một số bài tập đệ quy

  • Bài toán tháp Hà Nội

  • Bài toán tháp Hà Nội

  • Giải thuật đệ quy dạng quay lui

  • Bài toán 8 quân hậu

  • Bài toán 8 quân hậu

  • Bài toán 8 quân hậu

  • Bài toán 8 quân hậu

  • Bài toán 8 quân hậu

  • Bài toán 8 quân hậu

  • Bài toán 8 quân hậu

  • Bài toán 8 quân hậu

  • Qui hoạch động

  • Qui hoạch động

  • Qui hoạch động

  • Tóm tắt

  • HỎI ĐÁP

Nội dung

GV: NGUYỄN XUÂN VINH CẤU TRÚC DỮ LIỆU DATA STRUCTURES MÔN: CẤU TRÚC DỮ LIỆU [214331] GIẢI THUẬT đệ quy Nguyễn Xuân Vinh /XX 12/3/15 nguyenxuanvinh@hcmuaf.edu.vn GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /XX Nội dung Khái niệm đệ quy Thiết kế giải thuật đệ quy GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /XX Khái niệm đệ quy  đệ quy khái niệm toán học khoa học máy tính Một đối tượng gọi đệ quy phần định nghĩa thông qua khái niệm  Trong lĩnh vực lập trình: chương trình gọi đệ quy gọi lại  Chương trình đệ quy kiểm tra điều kiện dừng:  Nếu không thỏa, tiếp tục gọi đệ quy  Nếu thỏa mãn  không gọi nữa, chấm dứt đệ quy GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /XX Khái niệm đệ quy  Ví dụ:  Định nghĩa số tự nhiên: 0 số tự nhiên Nếu k số tự nhiên k+1 số tự nhiên  Định nghĩa xâu kí tự (chuỗi kí tự) đệ quy: Xâu rỗng xâu kí tự Một chữ ghép với xâu tạo thành xâu  Định nghĩa hàm giai thừa n!: Khi n = 0, định nghĩa 0! = Khi n>0, định nghĩa n! = (n-1)! * n GV: NGUYỄN XUÂN VINH Khái niệm đệ quy  Ví dụ private int Factor(int n){ if (n==0) return 1; else return n*Factor(n-1); MÔN: CẤU TRÚC DỮ LIỆU }  Đặc điểm chương trình đệ quy:  Chương trình gọi  Khi chương trình gọi mục đích để giải vấn đề tương tự nhỏ  Vấn đề nhỏ lúc đơn giản tới mức chương trình tự giải mà không cần phải gọi /XX 12/3/15 GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /XX Khái niệm đệ quy  Để xây dựng chương trình đệ quy cần tồn công thức đệ quy Công thức gồm phần:  Phần đệ quy: recursive case  Phần bản: base case  Ưu điểm chương trình đệ quy:  Có thể thực lượng lớn thao tác tính toán thông qua đoạn chương trình ngắn gọn  Có thể định nghĩa tập vô hạn đối tượng thông qua số hữu hạn lời phát biểu GV: NGUYỄN XUÂN VINH MÔN: CẤU TRÚC DỮ LIỆU 12/3/15 /XX Điều kiện viết chương trình đệ quy  Vấn đề cần xử lý phải giải cách đệ quy  Ngôn ngữ dùng viết chương trình phải hỗ trợ đệ quy  Các loại đệ quy:  đệ quy trực tiếp: hàm gọi tới  đệ quy gián tiếp: Một hàm gọi tới hàm khác, hàm khác gọi tới hàm bạn đầu GV: NGUYỄN XUÂN VINH Khi không nên sử dụng đệ quy  Khi hàm đệ quy gọi tập đối tượng sử dụng hàm như: biến, hằng, cấu trúc… thông số cần cho việc chuyển giao điều khiển sinh  Sử dụng đệ quy tạo tính toán thừa, không cần thiết tính chất tự động gọi thực thủ tục chưa kết thúc đệ quy /XX 12/3/15 MÔN: CẤU TRÚC DỮ LIỆU  Nếu chương trình viết dạng lặp cấu trúc lệnh khác không nên sử dụng đệ quy GV: NGUYỄN XUÂN VINH Ví dụ  Ví dụ : Lập hàm tính n! đệ quy int GT(int n) { MÔN: CẤU TRÚC DỮ LIỆU if (n==0) // điểm dừng return 1; else return n*GT(n-1); /XX 12/3/15 } GV: NGUYỄN XUÂN VINH Đệ quy (Recursion) Minh họa 10 /XX 12/3/15 MÔN: CẤU TRÚC DỮ LIỆU Gọi hàm answer [...]... 31 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải một số bài tập đệ quy 1 đĩa A B C 32 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải một số bài tập đệ quy 1 đĩa A B C 33 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải một số bài tập đệ quy 2 đĩa A B C 34 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải một số bài tập đệ quy 2 đĩa A B C 35 /XX 12/ 3/15... answer ... CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải số tập đệ quy đĩa A B C 34 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải số tập đệ quy đĩa A B C 35 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU... GV: NGUYỄN XUÂN VINH Giải số tập đệ quy đĩa A B C 36 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải số tập đệ quy đĩa A B C 37 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH. .. /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải số tập đệ quy N đĩa A B C 39 /XX 12/ 3/15 MÔN: CẤU TRÚC DỮ LIỆU GV: NGUYỄN XUÂN VINH Giải số tập đệ quy N đĩa A B C GV: NGUYỄN XUÂN VINH

Ngày đăng: 03/12/2015, 06:44

TỪ KHÓA LIÊN QUAN