logo

Kỹ thuật đệ quy và quay lui

1. Dùng dữ liệu thay cho xử lý: mảng bool, mảng bit ... đánh dấu ứng cử viên đã dùng. 2. Dùng hàng rào giới hạn vùng xử lý: đặc trưng là bài mã đi tuần dùng ma trận (n+2)*(n+2) để dễ xử lý hơn. 3. Dùng câu lệnh IF để dễ dàng giới hạn dừng đệ quy: đặc biệt có ích khi xử lý bài map với dữ liệu mảng 2 chiều (IF i10 --- Tăng i, đưa j về 1 và exit). Đặt câu lệnh này trước quá trình đệ quy, với ý nghĩa là "điểm mốc" của đệ quy....
Kỹ thuật đệ quy và quay lui 1. Dùng dữ liệu thay cho xử lý: mảng bool, mảng bit ... đánh dấu ứng cử viên đã dùng. 2. Dùng hàng rào giới hạn vùng xử lý: đặc trưng là bài mã đi tuần dùng ma trận (n+2)*(n+2) để dễ xử lý hơn. 3. Dùng câu lệnh IF để dễ dàng giới hạn dừng đệ quy: đặc biệt có ích khi xử lý bài map với dữ liệu mảng 2 chiều (IF i>10 ---> Tăng i, đưa j về 1 và exit). Đặt câu lệnh này trước quá trình đệ quy, với ý nghĩa là "điểm mốc" của đệ quy. 4. Đặt cờ báo đã tìm ra kết quả, chấm dựt sự đệ quy cũng như quay lui để tránh lãng phí thời gian "trả về các giá trị" trong chương trình quay lui. Cấu trúc 1 thủ tục đệ quy: begin IF quá giới hạn OR tìm thấy THEN exit; IF hết dòng THEN xuống dòng; khởi tạo cột =1; exit; IF chưa sử dụng AND thỏa điều kiện Gán vào; Đánh dấu đã sử dụng; Đệ quy bước kế tiếp; Gỡ bỏ giá trị đã gán; end; Các bài tập: 1. Số hạng thứ k: Dãy số nguyên n 8 2. Phân số tối giản: Xét tập cá phân số tối giản có giá trị nằm trong đoạn [0,1] và có mẫu số Trên 1 lưới ô vuông độ dài cạnh là 1, người ta thiết lập 1 đa giác lồi D gồm n đỉnh (n7. Xây dựng chuỗi K: Xét dãy số S gồm N ký số. Các sổ nguyên tạo thành dãy là các số từ 1 đến K cho trước. Một đoạn các ký số liên tiếp nhau của S là một dãy con. Hãy xây dựng S sao cho ko có 2 dãy con giống nhau đứng kề nhau. Dữ liệu vào từ StringK.inp gồm một dòng chứ 2 số nguyên dương N
DMCA.com Protection Status Copyright by webtailieu.net