- Chương trình có 2 chức năng chính là: mô phỏng trực quan 7 thuật toán bằng hình ảnh, chức năng thứ 2 là câu hỏi ôn tập kiến thức cho từng thuật toán. 7 thuật toán gồm:
Thuật toán Dijkstra tìm đường đi ngắn nhất
Thuật toán Ford-Bellman tìm đường đi ngắn nhất
Thuật toán tìm kiếm theo chiều rộng (BFS)
Thuật toán tìm kiếm theo chiều sâu (DFS)
Thuật toán Hamilton tìm chu trình Hamilton
Thuật toán Prim tìm kiếm cây khung nhỏ nhất
Thuật toán Kruskal tìm kiếm cây khung nhỏ nhất
- Mỗi thuật toán được mô phỏng với các chức năng:
+ Mô phỏng theo từng bước: người dùng sử dụng chuột để điều khiển xem các bước của thuật toán.
+ Mô phỏng tự động toàn bộ: chương trình tự động chuyển qua bước tiếp theo của thuật toán sau mỗi thời gian delay.
+ Chức năng Load đồ thị từ file text.
+ Chức năng tự vẽ đồ thị bằng các công cụ vẽ hình: thêm đỉnh, thêm cạnh, xóa đỉnh, xóa cạnh. Đồ thị load từ file text vẫn có thể bổ sung thêm bằng cách vẽ thêm, đồ thị mới có thể lưu lại bằng chức năng lưu đồ thị.
+ Chức năng lưu đồ thị.
+ Chức năng biểu diễn đồ thị, tô màu từng bước, hiển thị kết quả trên khung chương trình.
- Các Module chính:
Model DoThi.cs: Lưu thông tin về danh sách các đỉnh, các cạnh của đồ thị. Các hàm: thêm đỉnh (AddDinh), thêm cạnh (AddCanh), thao tác với file để load đồ thị và lưu đồ thị.
Model Dinh.cs: Khai báo các thuộc tính của đỉnh; hàm vẽ đỉnh, xóa đỉnh.
Model Canh.cs: Khai báo các thuộc tính của cạnh; hàm vẽ cạnh, xóa cạnh.
Model Dijkstra.cs: Khai báo và khởi tạo danh sách cạnh, cấu trúc Heap; hàm lưu và tô màu đồ thị từng bước, hàm chạy thuật toán Dijkstra.
Model BFS.cs: Khai báo và khởi tạo danh sách cạnh, cấu trúc Queue; hàm chạy thuật toán BFS, hàm lưu và tô màu đồ thị từng bước.
Model DFS.cs: Khai báo và khởi tạo danh sách cạnh, hàm lưu và tô màu đồ thị theo từng bước, hàm gọi đệ quy DFS.
Model FordBellMan.cs: Hàm chạy thuật toán, hàm lưu và tô màu đồ thị theo từng bước.
Model Hamilton.cs: Khai báo và khởi tạo danh sách cạnh, hàm chạy thuật toán tìm kiếm chu trình Hamilton, hàm lưu và tô màu đồ thị theo từng bước.
Model Prim.cs: Khai báo và khởi tạo danh sách cạnh, cấu trúc Heap; hàm lưu và tô màu đồ thị từng bước, hàm chạy thuật toán.
Model Kruskal.cs: Hàm chạy thuật toán, hàm lưu đồ thị và tô màu đồ thị theo từng bước.
- Các Form chính:
Form FrmMain
Form FrmVeDoThi
Mỗi thuật toán có 6 form: 1 form chính, 1 form điều khiển chạy, 1 form lý thuyết và giả mã, 1 form thêm đỉnh, 1 form thêm cạnh, 1 form ôn tập.
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
- Cài Visual Studio 2012.
- Giải nén, mở code và xem.