TAILIEUCHUNG - Biến đổi xâu

Cho xâu ký tự X, xét 3 phép biến đổi: a) Insert(i, C): i là số, C là ký tự: Phép Insert chèn ký tự C vào sau vị trí i của xâu X. b) Replace(i, C): i là số, C là ký tự: Phép Replace thay ký tự tại vị trí i của xâu X bởi ký tự C. c) Delete(i): i là số, Phép Delete xoá ký tự tại vị trí i của xâu X. Yêu cầu: Cho trước xâu Y, hãy tìm một số ít nhất các phép biến đổi trên để biến xâu X thành xâu. | Biến đổi xâu Cho xâu ký tự X xét 3 phép biến đổi a Insert i C i là số C là ký tự Phép Insert chèn ký tự C vào sau vị trí i của xâu X. b Replace i C i là số C là ký tự Phép Replace thay ký tự tại vị trí i của xâu X bởi ký tự C. c Delete i i là số Phép Delete xoá ký tự tại vị trí i của xâu X. Yêu cầu Cho trước xâu Y hãy tìm một số ít nhất các phép biến đổi trên để biến xâu X thành xâu Y. Input file văn bản Dòng 1 Chứa xâu X độ dài 100 Dòng 2 Chứa xâu Y độ dài 100 Output file văn bản ghi các phép biến đổi cần thực hiện và xâu X tại mỗi phép biến đổi. PBBCEFATZ QABCDABEFA 7 PBBCEFATZ - Delete 9 - PBBCEFAT PBBCEFAT - Delete 8 - PBBCEFA PBBCEFA - Insert 4 B - PBBCBEFA PBBCBEFA - Insert 4 A - PBBCABEFA PBBCABEFA - Insert 4 D - PBBCDABEFA PBBCDABEFA - Replace 2 A - PABCDABEFA PABCDABEFA - Replace 1 Q - QABCDABEFA Cách giải Đối với xâu ký tự thì việc xoá chèn sẽ làm cho các phần tử phía sau vị trí biến đổi bị đánh chỉ số lại gây khó khăn cho việc quản lý vị trí. Để khắc phục điều này ta sẽ tìm một thứ tự biến đổi thoả mãn Phép biến đổi tại vị trí i bắt buộc phải thực hiện sau các phép biến đổi tại vị trí i 1 i 2 . Ví dụ X ABCD Insert 0 E sau đó Delete 4 cho ra X EABD . Cách này không tuân thủ nguyên tắc Delete 3 sau đó Insert 0 E cho ra X EABD . Cách này tuân thủ nguyên tắc đề ra. Nói tóm lại ta sẽ tìm một dãy biến đổi có vị trí thực hiện giảm dần. 1. Công thức truy hồi Giả sử m là độ dài xâu X và n là độ dài xâu Y. Gọi F i j là số phép biến đổi tối thiểu để biến xâu gồm i ký tự đầu của xâu X X1X2 . Xi thành xâu gồm j ký tự đầu của xâu Y Y1Y2. Yj. Ta nhận thấy rằng X X1X2. .Xm và Y nên Nếu Xm Yn thì ta chỉ cần biến đoạn X1X2. Xm-1 thành Y1Y2. Yn-1 tức là trong trường hợp này F m n F m - 1 n - 1 . Nếu Xm Yn thì tại vị trí Xm ta có thể sử dụng một trong 3 phép biến đổi a Hoặc chèn vào sau vị trí m của X một ký tự đúng bằng Yn X ỊXịX . x I Yn Y YGN. I Y Thì khi đó F m n sẽ bằng 1 phép chèn vừa rồi cộng với số phép biến đổi .

TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.