đệ quy pascal chi tiết dễ hiểu nhất

55 2.6K 1
đệ quy pascal chi tiết dễ hiểu nhất

Đ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

• GIẢI THUẬT ĐỆ QUY VÀ THỦ TỤC ĐỆ QUY • THIẾT KẾ GIẢI THUẬT ĐỆ QUY BÀI TOÁN n DÃY SỐ FIBONACI BÀI TOÁN “THÁP HÀ NỘI” (TOWER OF HANOI) BÀI TOÁN 8 QUÂN HẬU VÀ THỦ TỤC QUAY LUI • HIỆU LỰC CỦA ĐỆ QUY • BÀI TẬP

Cấu trúc dữ liệu và giải thuật Chương III: Giải thuật đệ quy  Chương III. GIẢI THUẬT ĐỆ QUY I. KHÁI NIỆM VỀ ĐỆ QUY II. GIẢI THUẬT ĐỆ QUY VÀ THỦ TỤC ĐỆ QUY III. THIẾT KẾ GIẢI THUẬT ĐỆ QUY IV. HIỆU LỰC CỦA ĐỆ QUY V. BÀI TẬP  I. Khái niệm đệ qui Ta nói một đối tượng là đệ qui nếu nó được định nghĩa qua chính nó hoặc một đối tượng khác cùng dạng với chính nó bằng qui nạp.  Ví dụ đệ qui o Số tự nhiên  1 là số tự nhiên_phần neo  x là số tự nhiên nếu x-1 là số tự nhiên_ phần đệ qui. o Hàm n!  Ứng với n=0 thì 0! = 1_phần neo  Nếu n>1 thì n! = n(n-1)!_phần đệ qui. Sau mỗi lần đệ quy giá trị n giảm đi 1 và bài toán dần tới trường hợp suy biến (n=0). Biến n được gọi là biến điều khiển, trong đệ quy việc xác đinh biến điều khiển là điều cần thiết để tìm ra giải thuật của bài toán  Đệ qui có 2 phần  Phần neo (phần suy biến): Phần này được thực hiện khi mà công việc quá đơn giản, có thể giải trực tiếp chứ không cần phải nhờ đến một bài toán con nào cả.   Phần đệ quy: Trong trường hợp bài toán chưa thể giải được bằng phần neo, ta xác định bài toán con và gọi đệ quy giải những bài toán con đó. Khi đã có lời giải (đáp số) của những bài toán con rồi thì phối hợp chúng lại để giải bài toán đang xét  Chú ý  Một định nghĩa đệ qui bao giờ cũng có một điểm dừng hoặc một trường hợp đặc biệt nào đó để xác định giá trị đơn giản nhất của định nghĩa đệ qui. Trường hợp này được gọi là trường hợp suy biến  II.Giải thuật đệ qui và thủ tục đệ qui 1. GIẢI THUẬT ĐỆ QUI  Nếu lời giải của bài toán T được thực hiện bằng lời giải của bài toán T’ giống T thì đó được gọi là một lời giải đệ quy. Giải thuật cho lời giải đệ quy được gọi là một giải thuật đệ quy.  Chú ý T’<T  VÍ DỤ:TÌM TỪ TRONG TỪ ĐiỂN IF từ điển là 1 trang then tìm từ trong trang này [ phần suy biến] Else begin [ phần đệ qui] Mở từ điển vào trang giữa; Xác định xem nửa nào của từ điển chứa từ cần tìm; If nằm ở nửa trước của từ điển. Then tìm từ đó trong nửa trước. Else tìm từ đó trong nửa sau. End;    ụ ế    ừ ầ [...]... giá trị neo làm kết thúc giải thuật đệ quy  + Trong phần thủ tục chứa lời gọi tới chính nó.(thủ tục search có call search)  + Sau mỗi lần gọi thì kích thước bài toán thu nhỏ hơn rồi dần dần dẫn đến trường hợp suy biến Cơ chế thực hiện của thủ tục đệ quy trực tiếp:  Từ chương trình chính gọi thủ tục đệ quy là đệ quy mức 1  Từ thủ tục đệ quy gọi nó lần 2 gọi là đệ quy mức 2  Khi nào ở mức i thì kiểm... phần đệ qui, sau môi lần tách đôi từ điển thì một nửa thích hợp sẽ lai được tìm kiếm như chi n thuật đã dùng trước đó và tiến dần đến phần suy biến.ta có thể giải bài toán tìm chữ(T) bằng bài toán nhỏ hơn(T’) khái quát như hình: Tìm từ trong từ điển hoặc Tìm trong nửa trước Tìm trong nửa sau 2 thủ tục đệ qui o Thủ tục đệ qui là điều kiện cần của giải thuật đệ qui o Có 2 loại thủ tục đệ qui  Đệ qui... loại thủ tục đệ qui  Đệ qui trực tiếp: nếu thủ tục chứa lời gọi đến chính nó  Đệ qui gián tiếp: : thủ tục chứa lời gọi đến thủ tục khác mà ở thủ tục này lại chứa lời gọi đến nó Thủ tục đệ qui (tiếp)  Có 4 loại đệ qui trực tiếp Đệ qui Tuyến tính:thân hàm gọi 1 lần chính nó Đệ qui Nhị phân:thân hàm gọi 2 lần chính nó Đệ qui Phi tuyến:thân hàm lặp gọi 1 số lần chính nó Ví dụ : thủ tục tìm từ trong... lại rồi lấy thông tin từ ngăn xếp để quay về mức i-2     III THIẾT KẾ GIẢI THUẬT ĐỆ QUY 1 BÀI TOÁN n! 2 DÃY S Ố FIBONACCI 3 BÀI TOÁN THÁP HÀ N ỘI 4 CHÚ Ý 5 BÀI TOÁN 8 QUÂN H ẬU III THIẾT KẾ GIẢI THUẬT ĐỆ QUY 1 BÀI TOÁN n! 2 DÃY S Ố FIBONACCI 3 BÀI TOÁN THÁP HÀ N ỘI 4 CHÚ Ý 5 BÀI TOÁN 8 QUÂN H ẬU 1.Hàm n!    Định nghĩa đệ quy của n! factorial (n) = 1 Hàm n! Thủ tục hàm:  Function FACTORIAL(n) 1 If n=0... F(n-1) 2 Dãy số Fibonacci  Ta  có: F(n) Vídụ: n 1 F(n) 1 2 1 3 4 2 3 5 6…… 5 8…… 2 Dãy số Fibonacci   Thủ tục đệ quy thể hiện giải thuật tính F(n): Function F(n) 1 If nthen F:=1 else F:=F(n-2)+F(n-1) 2 Return Trườnghợpsuybiếnứngvớihaigiátrị F(1)=1 và F(2)=1 III THIẾT KẾ GIẢI THUẬT ĐỆ QUY 1 BÀI TOÁN n! 2 DÃY S Ố FIBONACCI 3 BÀI TOÁN THÁP HÀ N ỘI 4 CHÚ Ý 5 BÀI TOÁN 8 QUÂN H ẬU BÀI TOÁN THÁP HÀ NỘI... hàm:  Function FACTORIAL(n) 1 If n=0 then FACTORIAL:=1 else FACTORIAL:=n*FACTORIAL(n-1) 2 Return  1 Hàm n! Ví dụ: Tính 3! 3! = 3*2! 2!=2*1! 1!=1*0! 0!=1 trường hợp suy biến III THIẾT KẾ GIẢI THUẬT ĐỆ QUY 1 BÀI TOÁN n! 2 DÃY S Ố FIBONACCI 3 BÀI TOÁN THÁP HÀ N ỘI 4 CHÚ Ý 5 BÀI TOÁN 8 QUÂN H ẬU 2 Dãy số Fiboncci Bài toán được đặt ra như sau:  Các con thỏ không bao giờ chết  Hai tháng sau khi ra đời,... cọc C  Chuyển đĩa từ cọc B sang cọc C  Kết thúc A B C A B C BÀI TOÁN THÁP HÀ NỘI (TIẾP) • Với n = 3 *n=3: cọc A có 3 đĩa Với trường hợp 3 đĩa nếu chúng ta coi 2 đĩa trên là một đĩa thì bài toán này quy về trường hợp n=2, khi đó lời giải sẽ là: (hình 3) Chuyển 2 đĩa trên sang B Chuyển đĩa dưới cùng sang C Chuyển 2 đĩa từ B sang C Kết thúc BÀI TOÁN THÁP HÀ NỘI (TIẾP) A B C . trực tiếp Đệ qui Tuyến tính:thân hàm gọi 1 lần chính nó Đệ qui Nhị phân:thân hàm gọi 2 lần chính nó Đệ qui Phi tuyến:thân hàm lặp gọi 1 số lần chính nó   Ví dụ : thủ tục tìm từ trong từ. niệm đệ qui Ta nói một đối tượng là đệ qui nếu nó được định nghĩa qua chính nó hoặc một đối tượng khác cùng dạng với chính nó bằng qui nạp.  Ví dụ đệ qui o Số tự nhiên  1 là số tự nhiên_phần. giải thuật đệ qui . o Có 2 loại thủ tục đệ qui  Đệ qui trực tiếp: nếu thủ tục chứa lời gọi đến chính nó.  Đệ qui gián tiếp: : thủ tục chứa lời gọi đến thủ tục khác mà ở thủ tục này lại chứa

Ngày đăng: 04/01/2015, 23:10

Từ khóa liên quan

Mục lục

  • Slide 1

  • Chương III. GIẢI THUẬT ĐỆ QUY

  • Khái niệm đệ qui

  • Ví dụ đệ qui

  • Đệ qui có 2 phần

  • Slide 6

  • Chú ý

  • II.Giải thuật đệ qui và thủ tục đệ qui

  • VÍ DỤ:TÌM TỪ TRONG TỪ ĐiỂN

  • Ví dụ tiếp

  • Slide 11

  • 2. thủ tục đệ qui

  • Thủ tục đệ qui (tiếp)

  • Ví dụ : thủ tục tìm từ trong từ điển

  • Nhận xét

  • - Cơ chế thực hiện của thủ tục đệ quy trực tiếp:

  • III. THIẾT KẾ GIẢI THUẬT ĐỆ QUY

  • III. THIẾT KẾ GIẢI THUẬT ĐỆ QUY

  • 1.Hàm n!

  • 1. Hàm n!

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

Tài liệu liên quan