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

Bài giảng Cấu trúc dữ liệu và giải thuật: Đệ quy - Nguyễn Mạnh Hiển

5 9 0

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

THÔNG TIN TÀI LIỆU

Bài giảng Cấu trúc dữ liệu và giải thuật: Đệ quy trình bày các nội dung: Đệ quy, ví dụ về đệ quy, đệ quy có thể không kết thúc, đệ quy có thể không kết thúc. Mời các bạn cùng tham khảo nội dung chi tiết.

Đệ quy (Recursion) Nguyễn Mạnh Hiển Khoa Công nghệ thông tin hiennm@tlu.edu.vn Đệ quy • Hàm đệ quy hàm định nghĩa thân • VD: f(0) = f(x) = 2f(x - 1) + x2 với x > int f(int x) { if (x == 0) // trường hợp sở return 0; else return 2*f(x-1) + x*x; // lời gọi đệ quy } Ví dụ đệ quy (tiếp) Định giá hàm f(x) = 2f(x - 1) + x2: f(4) = 2*f(3) + 4*4 f(3) = 2*f(2) + 3*3 f(2) = 2*f(1) + 2*2 f(1) = 2*f(0) + 1*1 f(0) = f(1) = 2*0 + 1*1 = f(2) = 2*1 + 2*2 = f(3) = 2*6 + 3*3 = 21 f(4) = 2*21 + 4*4 = 58 Gặp trường hợp sở bắt đầu quay lui Đệ quy khơng kết thúc • Điều xảy ta gọi f(-1) sau cài đặt hàm f(x) = 2f(x - 1) + x2 lúc trước? • Dưới hàm đệ quy không kết thúc: Điều xảy gọi: - bad(1)? - bad(2)? - bad(3)? Đảm bảo chương trình đệ quy kết thúc Hai quy tắc viết chương trình đệ quy đúng: Định nghĩa trường hợp sở − Đây nơi đệ quy kết thúc Lời gọi đệ quy phải có tiến triển − Mỗi bước phải hướng dần phía trường hợp sở ... bắt đầu quay lui Đệ quy khơng kết thúc • Điều xảy ta gọi f (-1 ) sau cài đặt hàm f(x) = 2f(x - 1) + x2 lúc trước? • Dưới hàm đệ quy khơng kết thúc: Điều xảy gọi: - bad(1)? - bad(2)? - bad(3)? Đảm... bad(2)? - bad(3)? Đảm bảo chương trình đệ quy kết thúc Hai quy tắc viết chương trình đệ quy đúng: Định nghĩa trường hợp sở − Đây nơi đệ quy kết thúc Lời gọi đệ quy phải có tiến triển − Mỗi bước phải.. .Đệ quy • Hàm đệ quy hàm định nghĩa thân • VD: f(0) = f(x) = 2f(x - 1) + x2 với x > int f(int x) { if (x == 0) // trường hợp sở return 0; else return 2*f(x-1) + x*x; // lời gọi đệ quy }

Ngày đăng: 09/05/2021, 17:56

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN