Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - ThS. Phạm Thanh An

53 1.3K 2
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - ThS. Phạm Thanh An

Đ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

Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - ThS. Phạm Thanh An

Chương Đệ quy giải thuật đệ quy Ths Phạm Thanh An Bộ mơn Khoa học máy tính- Khoa CNTT Trường Đại học Ngân hàng TP.HCM LOGO Nội dung         Khái niệm đệ quy Giải thuật chương trình đệ quy Thiết kế giải thuật đệ quy Ưu nhược điểm đệ quy Một số dạng giải thuật đệ quy thường gặp Giải thuật đệ qui quay lui (backtracking) Một số tốn giải giải thuật đệ quy điển hình Đệ quy quy nạp toán học Mục tiêu  Trang bị cho sinh viên khái niệm cách thiết kế giải thuật đệ qui, giải thuật đệ qui quay lui  Giới thiệu số tốn điển hình giải giải thuật đệ qui  Phân tích ưu nhược điểm sử dụng giải thuật đệ qui Khái niệm đệ qui  Đệ quy: Đưa định nghĩa có sử dụng khái niệm cần định nghĩa( quay về)  Ví dụ  Người = hai người khác  Trong toán học: • Số tự nhiên: số tự nhiên, n số tự nhiên n- số tự nhiên • Hàm n!  Khái niệm đệ Giải thuật hàm đệ quy  Giải thuật đệ quy  Nếu toán T thực lời giải tốn T ’ có dạng giống T lời giải đệ quy  Giải thuật tương ứng với lời giải gọi giải thuật đệ quy  Hàm đệ quy Giải thuật đệ quy  Ví dụ: Xét tốn tìm từ từ điển: If (từ điển trang) tìm từ trang else { Mở từ điển vào trang “giữa” Xác định xem nửa từ điển chứa từ cần tìm; if (từ nằm nửa trước) tìm từ nửa trước else tìm từ nửa sau } Phân loại giải thuật đệ qui  Đệ quy phân thành loại :  Đệ quy trực tiếp:  Đệ quy gián tiếp (Tương hỗ): A() B() A() B() C() Cài đặt hàm đệ quy  Hàm đệ quy gồm hai phần:  Phần sở (Phần neo):  Phần đệ quy: Cài đặt hàm đệ quy (tt)  Cấu trúc hàm đệ qui sau If (suy biến) ; Else { ; ; ; } Một số dạng giải thuật đệ quy đơn giản thường gặp  Đệ quy tuyến tính Hàm đệ qui tuyến tính dạng: P () { } if (điều kiện dừng) { } Else { P(); } Phương pháp quay lui (back tracking)  Quan tâm:  Làm để xác định tập Tk, tức tập tất khả mà phàn tử thứ k dãy x1, x2, ,xn nhận  Khi có tập Tk, để xác định xk, thấy xk phụ thuộc vào số j mà cịn phụ thuộc vào x1, x2, ,xk-1 Bài tốn: Liệt kê tất hoán vị n số tự nhiên  Đặt N= {1, 2, ,n} Hoán vị n số tự nhiên x[0], x[1], ,x[n1] Trong x[i] ≠ x[j], ∀i,j x[i] ∈ {0 n-1}  T1 = N, giả sử xác định x[0], x[1], , x[k-1] đó, Tk = {1 n}- {x[0], x[1], , x[k-1]}  Ghi nhớ tập Tk , k = n-1, ta cần sử dụng mảng b[0 n-1] giá trị 0, cho b[i] = i thuộc Tk Bài toán: Liệt kê tất hoán vị n số tự nhiên Thu(int k){ if (k== n) inkq(); else for (int j=1; j

Ngày đăng: 29/04/2014, 13:10

Từ khóa liên quan

Mục lục

  • Chương 2 Đệ quy và giải thuật đệ quy

  • Nội dung

  • Mục tiêu

  • Khái niệm về đệ qui

  • Giải thuật và hàm đệ quy

  • Giải thuật đệ quy

  • Phân loại giải thuật đệ qui

  • Cài đặt hàm đệ quy

  • Cài đặt hàm đệ quy (tt)

  • Một số dạng giải thuật đệ quy đơn giản thường gặp

  • Một số dạng giải thuật đệ quy đơn giản thường gặp (tt)

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

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

  • Ưu và nhược điểm của đệ qui

  • Một số bài toán giải bằng giải thuật đệ qui điển hình

Tài liệu cùng người dùng

Tài liệu liên quan