Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
135,91 KB
File đính kèm
c++.rar
(1 MB)
Nội dung
DANH MỤC ĐỀ TÀI ĐỒ ÁN GIẢI THUẬT VÀ LẬP TRÌNH Năm học 2017-2018 A HƯỚNG DẪN THỰC HIỆN Phân tích toán Lựa chọn cấu trúc liêu Lựa chọn phương pháp Triển khai lập trình Đánh giá minh hoạ kết Viết báo cáo theo quy định chung B DANH SÁCH ĐỀ TÀI Đề tài 1: Tìm hiểu thuật toán tìm đường xây dựng chương trình tìm đường ngắn đồ thị có hướng có trọng số - Dữ liệu vào: Tệp chứa ma trận biểu diễn độ thị G với n đỉnh - Phương pháp gợi ý: Dijstra, Bellman-Ford - Dữ liệu ra: Tệp chứa khoảng cách ngắn đường (phụ thuộc vào phương pháp lựa chọn) Đề tài 2: Tìm hiểu phương pháp tìm luồng cực đại mạng xây dựng ứng dụng Dữ liệu vào: Tệp chứa ma trận biểu diễn mạng G với đỉnh phát s đỉnh thu t Phương pháp gợi ý: Ford-Fulkerson Dữ liệu ra: Tệp chứa luồng cực đại giá trị luồng cực đại Đề tài 3: Tìm hiểu phương pháp giải toán quy hoạch tuyến tính xây dựng ứng dụng Mô tả: Dữ liệu vào: Tệp chứa ma trận biểu diễn toán tối ưu tuyến tính Phương pháp gợi ý: Simple Method, Two phase Simple Method, M-method Dữ liệu ra: Tệp chứa tập giá trị biến đạt giá trị tối ưu, giá trị tối ưu hàm mục tiêu Đề tài 4: Tìm hiểu kỹ thuật phân rã xây dựng chương trình dự đoán kết đánh giá người dùng Dữ liệu vào: n, m ma trận đánh giá X(ma trận X có vị trí chưa đánh giá) Phương pháp gợi ý : Singular Value Decomposition, matrix factozation Dữ liệu ra: Tệp chứa ma trận Y cho Y Đề tài 5: Tìm hiểu lọc cộng tác xây dựng chương trình dự đoán kết đánh giá người dùng Dữ liệu vào: n, m ma trận đánh giá X(ma trận X có vị trí chưa đánh giá) Phương pháp gợi ý : Item-item Collaborative Filtering, User-user Collaborative Filtering Dữ liệu ra: Tệp chứa ma trận Y cho Y Đề tài 6: Tìm hiểu thuật toán tìm khung nhỏ đồ thị vô hướng có trọng số Mô tả: Dữ liệu vào: Tệp chứa ma trận trọng số biểu diễn độ thị G gồm n đỉnh Phương pháp gợi ý : Kruskal, Prim Dữ liệu ra: Tệp chứa ma trận biểu diễn khung nhỏ cần tìm Đề tài 7: Tìm hiểu phương pháp quay lui xây dựng ứng dụng Mô tả: Tìm hiểu phương pháp ứng dụng vào toán: n-hậu hòa bình, mã tuần, liệt kê cấu hình tổ hợp Dữ liệu vào: Tệp chứa liệu nhập toán tương ứng Phương pháp gợi ý: Phương pháp Backtracking Dữ liệu ra: Tệp chứa liệu xuất toán tương ứng Đề tài 8: Tìm hiểu phương pháp giải toán vận tải xây dựng ứng dụng Mô tả: Tìm hiểu phương pháp ứng dụng vào toán: n-hậu hòa bình, mã tuần, liệt kê cấu hình tổ hợp Dữ liệu vào: Tệp chứa ma trận cước phí giá trị trạm phát thu Phương pháp gợi ý: Thuật toán vị, thuật toán phân phối Dữ liệu ra: Tệp chứa ma trận phân phối tối ưu Đề tài 9: Tìm hiểu phương pháp quy hoạch động xây dựng ứng dụng Mô tả: Tìm hiểu phương pháp ứng dụng vào toán: Bài toán túi, toán tổ hợp, thuật toán Floyd tìm đường ngắn Dữ liệu vào: Tệp chứa liệu nhập toán tương ứng Phương pháp gợi ý : Phương pháp Dynamic Programming Dữ liệu ra: Tệp chứa liệu xuất toán tương ứng Đề tài 10: Tìm hiểu thuật toán xếp đánh giá để so sánh Mô tả: Tìm hiểu phương pháp xếp: chọn, chèn, bọt, nhanh, … Dữ liệu vào: Mảng gồm n số Phương pháp gợi ý : Các loại thuật toán xếp, đánh giá ký pháp O_lớn Dữ liệu ra: Mảng số sau xếp Đề tài 11: Kiểm tra đồ thị liên thông Mô tả: Viết chương trình kiểm tra đồ thị vô hướng có liên thông không Dữ liệu vào: Tệp liệu mô tả đồ thị Phương pháp gợi ý : sử dụng thuật toán duyệt đồ thị Dữ liệu ra: Trạng thái đồ thị: Liên thông/không liên thông Đề tài 12: Cài đặt nhị phân tìm kiếm Mô tả: Cho tệp văn Hãy xây dựng nhị phân tìm kiếm, có khóa từ tệp văn Cấu trúc liệu biểu diễn nút nhị phân có hai trường: từ (khóa) số lần xuất từ tệp Đọc tệp văn để tạo nhị phân tìm kiếm, có từ lặp lại tăng số lần xuất từ In từ số lần xuất từ Đề tài 13: Ngựa tuần Mô tả: Viết chương trình thực di chuyển ngựa bàn cờ có 8x8 ô Giả sử đặt ngựa ô bất kỳ, di chuyển ngựa bàn cờ cho qua nhiều ô nhất, với điều kiện ô qua lần Yêu cầu di chuyển ba cách sau: a Di chuyển ngựa cách ngẫu nhiên b Di chuyển ngựa đến ô có khả c Di chuyển ngựa, hết đường quay lui (sử dụng giải thuật quay lui) Đề tài 14: Định giá biểu thức số học Mô tả: Viết chương trình định giá biểu thức số học sử dụng cấu trúc liệu ngăn xếp Yêu cầu: a Chuyển biểu thức trung tố thành dạng hậu tố tiền tố (không chứa dấu ngoặc) b Định giá biểu thức hai trường hợp: 1) Biểu thức dạng tiền tố 2) Biểu thức dạng hậu tố Đề tài 15: Duyệt đồ thị Mô tả: Cho tệp văn chứa ma trận kề, biểu diễn đồ thị có hướng G Viết chương trình đọc tệp văn tạo đồ thị Chương trình cho phép duyệt đồ thị theo chiều rộng duyệt đồ thị theo chiều sâu Yêu cầu sử dụng cấu trúc liệu: a Ma trận kề để biểu diễn đồ thị b Danh sách kề (danh sách liên kết) để biểu diễn đồ thị Đề tài 16: Xếp lịch thi Mô tả: Giả sử sinh viên phải thi số môn n môn thi Hãy lập lịch thi cho sinh viên có môn thi thời gian số đợt thi Đầu vào: Các tập tin văn chứa thông tin về: Số môn thi, Tên môn thi Số sinh viên, Các môn học sinh viên Đầu ra: Tập tin văn chứa Lịch thi với số đợt thi sinh viên thi nhiều môn đợt thi Gợi ý: Ứng dụng lý thuyết đồ thị toán tô màu Đề tài 17: Quản lý gia phả Mô tả đề tài : Cài đặt gia phả lưu vào tập tin, để hỗ trợ cho trình tìm kiếm thông tin Yêu cầu đề tài : - Nắm vững sở lý thuyết cấu trúc liệu, giải thuật duyệt Vận dụng vào cài đặt gia phả - Giao diện thân thiện người dùng Các chức chương trình : - Nhập gia phả: dòng họ lưu vào tập tin Mỗi dòng họ tập tin Chương trình dựng lại gia phả dòng họ từ tập tin lưu Mỗi người dòng họ cần lưu thông tin như: họ tên, ngày sinh, giới tính, nghề nghiệp, ngày mất, họ tên chồng/vợ, số (nếu người nữ), v.v… - Hiển thị giả phả: dòng họ lên hình để kiểm tra Ví dụ: Có thể hiển thị gia phả dòng họ Nguyễn sau: N Văn Phước N Thị Lộc (nút lá, nữ) N Văn Thọ N Thị Hạnh N Văn Phúc N Văn Phú N Văn Quý N Thị Cát (nút lá, nữ) N Văn Tường … - Tìm mối quan hệ: Cho phép nhập vào họ tên hai người đó, chương trình tìm xem họ có mối quan hệ thân thuộc với không Nếu có, cho biết mối quan hệ (cha, mẹ, vợ, chồng, trai, gái, ông, bà nội, ông, bà hay cô, bác, v.v…) Ví dụ: Với gia phả minh họa trên, nhập vào N Văn Quý N Thị Hạnh chương trình cho biết Quý cháu trai Hạnh, goi Hạnh cô Hai - Tìm người theo mối quan hệ: Cho phép nhập vào họ tên X người đó, mối quan hệ cần tìm Chương trình hiển thị tên người thân X với mối quan hệ cho Ví dụ: Với gia phả minh họa trên, nhập vào tên N Văn Quý mối quan hệ ‘bác’, chương trình hiển thị tên bác Quý: N Văn Phúc MÔI TRƯỜNG CÀI ĐẶT : C, C ++ Đề tài 18: Giải sudoku 9x9 Yêu cầu đặt viết chương trình giải sudoku 9x9 (sử dụng thuât toán quay lui) Chương trình đọc liệu từ file INPUT.TXT Sau đọc file tiến hành xử lý Ghi lời giải cho ô chữ file OUTPUT.TXT Các bạn giúp với nhá, cảm ơn bạn nhiều !!!! File 9 0 0 File 968723541 0 0 0 8 Đề tài 19: Quản lý toán điện thoại 0 9 0 0 0 INPUT.TXT: 0 2 OUTPUT.TXT 9 8 Mô tả đề tài: Công ty điện thoại muốn có chương trình toán tiền điện thoại cho khách hàng Hiện tại, công ty có lưu trữ tệp tin, tệp khách hàng, tệp điện thoại gọi Tệp khách hàng mang tên customer.dat Mỗi dòng tệp gồm có: - Tên khách hàng: tên xâu ký tự, độ dài không vượt 25 kết thúc dấy “;” - Số điện thoại khách hàng: số điện thoại nằm khoảng 8000000 8999999 Chẳng hạn dòng tệp là: Trần Thị Thanh; 8271954 Tệp lưu trữ điện thoại mang tên phone.dat Mỗi dòng có thông tin điện thoại sau: - Số điện thoại: khoảng 8000000 đến 8999999 - Số phút gọi: khoảng đến 120 - Thời điểm bắt đầu gọi: từ 0h00 đến 23h59 (đồng hồ 24 giờ/ngày) - Ngày gọi: theo định dạng dd/mm/yyyy - Miền: nội hạt, lân cận, xa xa, viết tắt là: NH, LC, X, RX Chẳng hạn, dòng tệp phone.dat sau: 8567345 8.23 14/06/2006 NH Đương nhiên có nhiều dòng điện thoại Hai tệp liên hệ với qua số điện thoại Sau đọc điện thoại tệp phone.dat, gọi xử lí cho khách hàng có số điện thoại trùng với số điện thoại điện thoại Tệp gọi ban đầu chưa xếp tệp kết phải xếp theo tăng dần số điện thoại Có thể giả sử tất liệu tệp hợp lệ đương nhiên có khách hàng Tệp mang tên result.dat cần có tiêu đề thích hợp nêu rõ thông tin sau: - Với khách hàng: + Tổng số tiền mà họ phải trả công ty + Số gọi miền - Thông tin tổng thể: + Toàn số tiền thu từ khách hàng + Toàn bô gọi khách hàng miền Xử lí: - Việc tính tiền cho gọi sau: Tiền = Giá * Số phút * Hệ số miền Giá 400đ Hệ số miền nội hạt 1, với lân cận 2, với xa 3, với xa Đối với gọi 23h00 đến 5h00 ngày tuần ngày Thứ Bảy, Chủ nhật giảm gái 30% Đề tài 20: Học từ vựng tiếng anh thông qua trò chơi Mô tả đề tài: Xây dựng trò chơi đố chữ đơn giản để giúp người chơi củng cố từ vựng Tiếng Anh Yêu cầu: Về lý thuyết: - Nắm vững sở lý thuyết cấu trúc liệu, đặc biệt cấu trúc bảng băm kỹ thuật lưu trữ Vận dụng lý thuyết vào cài đặt tự điển Về lập trình: Các chức chương trình : - Thêm từ vựng: cho phép thêm từ vựng vào tự điển lưu tự điển vào tập tin Với từ tự điển cần lưu trữ thông tin loại từ (danh từ, động từ,…), phiên âm quốc tế nghĩa có từ - Hiển thị & cập nhật tự điển: Hiển thị danh sách từ có tự điển để kiểm tra Sau hiển thị, người dùng thực thao tác sau: + Hiển thị thông tin chi tiết từ vựng + Sửa thông tin chi tiết từ vựng + Xóa từ vựng - Chơi trò chơi đố chữ: Chương trình chọn ngẫu nhiên từ vựng đó, xóa cách ngẫu nhiên ký tự từ yêu cầu người chơi nhập vào ký tự bị thiếu Nếu người chơi nhập vào ký tự làm thành từ hợp lệ (nghĩa có tự điển) chương trình hiển thị thông tin từ đó, người chơi tính điểm Còn người chơi nhập vào ký tự không làm thành từ hợp lệ, chương trình hiển thị thông báo lỗi: ‘Không có từ tiếng Anh’ Ví dụ: Chương trình hiển thị từ c_t: - Nếu người chơi nhập vào chữ u tạo thành từ cut, chương trình hiển thị thông tin từ cut tính điểm cho người chơi - Hoặc người chơi nhập vào chữ a tạo thành từ cat, chương trình hiển thị thông tin từ cat tính điểm cho người chơi - Hoặc người chơi nhập vào chữ i tạo thành từ cit, chương trình hiển thị thông báo lỗi: ‘Không có từ tiếng Anh’ Môi trường cài đặt : C, C ++ Hướng dẫn chung cho đề tài từ 21-25: Tạo file văn có lưu trữ khoảng 10-20 mẫu tin (record) Viết chương trình quản lý đọc liệu từ file thực chức năng: • In danh sách thông tin tất đối tượng (có bổ sung cột số thứ tự) • Bổ sung thêm đối tượng vào danh sách • Tìm kiếm mẫu tin theo tiêu chí khác hiển thị mẫu tin • Sắp xếp theo thứ tự tăng dần/ giảm dần • Chèn mẫu tin cho mảng theo thứ tự • Xóa mẫu tin Đề tài 21: Quản lý sinh viên Thông tin sinh viên cần quản lý gồm: mã sinh viên, họ, tên, ngày sinh (ngày, tháng, năm), giới tính, lớp (bắt đầu khóa học, ví dụ: 12T3, 13T2), điểm toán, điểm lý, điểm tin, điểm trung bình, học bổng Bổ sung chức sau: • Tính điểm trung bình (ĐTB) học bổng cho sinh viên theo qui ước: 200 ĐTB≥8 HB = • • 100 7≤ĐTB