Danh mục

BÀI GIẢNG GIẢI THUẬT VÀ LẬP TRÌNH - QUY HOẠCH ĐỘNG - LÊ MINH HOÀNG - 6

Số trang: 36      Loại file: pdf      Dung lượng: 2.55 MB      Lượt xem: 14      Lượt tải: 0    
Jamona

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Cho xâu S gồm n ký tự chỉ gồm các chữ A, B, C, D. Xét phép co R(i): thay ký tự Si và Si+1 bởi ký tự nằm trên hàng Si, cột Si+1 của bảng H. Ví dụ: S = ABCD; áp dụng liên tiếp 3 lần R(1) sẽ được ABCD → ACD → BD → B. Yêu cầu: Cho trước một ký tự X∈{A, B, C, D}, hãy chỉ ra thứ tự thực hiện n - 1 phép co để ký tự còn lại cuối cùng trong S là X. Bài 7 Cho N số tự nhiên A1,...
Nội dung trích xuất từ tài liệu:
BÀI GIẢNG GIẢI THUẬT VÀ LẬP TRÌNH - QUY HOẠCH ĐỘNG - LÊ MINH HOÀNG - 6Quy hoạch động 167 A B CD AAAB B BCDA B C B C BA D BDDDCho xâu S gồm n ký tự chỉ gồm các chữ A, B, C, D.Xét phép co R(i): thay ký tự Si và Si+1 bởi ký tự nằm trên hàng Si, cột Si+1 của bảng H.Ví dụ: S = ABCD; áp dụng liên tiếp 3 lần R(1) sẽ đượcABCD → ACD → BD → B.Yêu cầu: Cho trước một ký tự X∈{A, B, C, D}, hãy chỉ ra thứ tự thực hiện n - 1 phép co đểký tự còn lại cuối cùng trong S là X.Bài 7Cho N số tự nhiên A1, A2, …, AN. Biết rằng 1 ≤ N ≤ 200 và 0 ≤ Ai ≤ 200. Ban đầu các sốđược đặt liên tiếp theo đúng thứ tự cách nhau bởi dấu ?: A1 ? A2 ? … ? AN. Yêu cầu: Chotrước số nguyên K, hãy tìm cách thay các dấu ? bằng dấu cộng hay dấu trừ để được mộtbiểu thức số học cho giá trị là K. Biết rằng 1 ≤ N ≤ 200 và 0 ≤ Ai ≤ 100.Ví dụ: Ban đầu 1 ? 2 ? 3 ? 4 và K = 0 sẽ cho kết quả 1 - 2 - 3 + 4.Bài 8Dãy Catalan là một dãy số tự nhiên bắt đầu là 0, kết thúc là 0, hai phần tử liên tiếp hơn kémnhau 1 đơn vị. Hãy lập chương trình nhập vào số nguyên dương n lẻ và một số nguyên dươngp. Cho biết rằng nếu như ta đem tất cả các dãy Catalan độ dài n xếp theo thứ tự từ điển thì dãythứ p là dãy nào.Một bài toán quy hoạch động có thể có nhiều cách tiếp cận khác nhau, chọn cách nào là tuỳtheo yêu cầu bài toán sao cho dễ dàng cài đặt nhất. Phương pháp này thường không khó khăntrong việc tính bảng phương án, không khó khăn trong việc tìm cơ sở quy hoạch động, màkhó khăn chính là nhìn nhận ra bài toán quy hoạch động và tìm ra công thức truy hồi giảinó, công việc này đòi hỏi sự nhanh nhạy, khôn khéo, mà chỉ từ sự rèn luyện mới có thể cóđược. Hãy đọc lại §1 để tìm hiểu kỹ các phương pháp thông dụng khi cài đặt một chươngtrình giải công thức truy hồi.Lê Minh HoàngPHẦN 4. CÁC THUẬT TOÁN TRÊNĐỒ THỊ Trên thực tế có nhiều bài toán liên quan tới một tập các đối tượng và những mối liên hệ giữa chúng, đòi hỏi toán học phải đặt ra một mô hình biểu diễn một cách chặt chẽ và tổng quát bằng ngôn ngữ ký hiệu, đó là đồ thị. Những ý tưởng cơ bản của nó được đưa ra từ thế kỷ Leonhard Euler (1707-1783) thứ XVIII bởi nhà toán học Thuỵ Sĩ Leonhard Euler, ông đã dùng mô hình đồ thị để giải bài toán về những cây cầu Konigsberg nổi tiếng. Mặc dù Lý thuyết đồ thị đã được khoa học phát triển từ rất lâu nhưng lại có nhiều ứng dụng hiện đại. Đặc biệt trong khoảng vài mươi năm trở lại đây, cùng với sự ra đời của máy tính điện tử và sự phát triển nhanh chóng của Tin học, Lý thuyết đồ thị càng được quan tâm đến nhiều hơn. Đặc biệt là các thuật toán trên đồ thị đã có nhiều ứng dụng trong nhiều lĩnh vực khác nhau như: Mạng máy tính, Lý thuyết mã, Tối ưu hoá, Kinh tế học v.v… Hiện nay, môn học này là một trong những kiến thức cơ sở của bộ môn khoa học máy tính. Trong phạm vi một chuyên đề, không thể nói kỹ và nói hết những vấn đề của lý thuyết đồ thị. Tập bài giảng này sẽ xem xét lý thuyết đồ thị dưới góc độ người lập trình, tức là khảo sát những thuật toán cơ bản nhất có thể dễ dàng cài đặt trên máy tính một số ứng dụng của nó. . Công việc của người lập trình là đọc hiểu được ý tưởng cơ bản của thuật toán và cài đặt được chương trình trong bài toán tổng quát cũng như trong trường hợp cụ thể. 170 Chuyên đề §1. CÁC KHÁI NIỆM CƠ BẢN1.1. ĐỊNH NGHĨA ĐỒ THỊ (GRAPH)Là một cấu trúc rời rạc gồm các đỉnh và các cạnh nối các đỉnh đó. Được mô tả hình thức: G = (V, E)V gọi là tập các đỉnh (Vertices) và E gọi là tập các cạnh (Edges). Có thể coi E là tập các cặp (u, v)với u và v là hai đỉnh của V.Một số hình ảnh của đồ thị: Sơ đồ giao thông Mạng máy tính Cấu trúc phân tử Hình 51: Ví dụ về mô hình đồ thịCó thể phân loại đồ thị theo đặc tính và số lượng của tập các cạnh E:Cho đồ thị G = (V, E). Định nghĩa một cách hình thứcG được gọi là đơn đồ thị nếu giữa hai đỉnh u, v của V có nhiều nhất là 1 cạnh trong E nối từ u tới v.G được gọi là đa đồ thị nếu giữa hai đỉnh u, v của V có thể có nhiều hơn 1 cạnh trong E nối từ u tớiv (Hiển nhiên đơn đồ thị cũng là đa đồ thị).G được gọi là đồ thị vô hướng (undirected graph) nếu các cạnh trong E là không định hướng, tức làcạnh nối hai đỉnh u, v bất kỳ cũng là cạnh nối hai đỉnh v, u. Hay nói cách khác, tập E gồm các cặp(u, v) không tính thứ tự. (u, v)≡(v, u)G được gọi là đồ thị có hướng (directed ...

Tài liệu được xem nhiều: