BÁO CÁO ĐỒ ÁN CẤU TRÚC DỮ LIỆU

19 827 2
BÁO CÁO ĐỒ ÁN CẤU TRÚC DỮ LIỆU

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BÁO CÁO ĐỒ ÁN CẤU TRÚC DỮ LIỆU GVHD: Lê Quý Lộc SVTH : Lê Văn Sỹ Mai Thăng Long 2 Nội dung Kết luận 5 Giới thiệu 1 Thuật toán 2 Cấu trúc dữ liệu 3 Chương trình 4 3 I. Giới thiệu  Lý thuyết đồ thị:  Định nghĩa • Đồ thị là một tập các đối tượng được gọi là các đỉnh (hoặc nút) nối với nhau bởi các cạnh (hoặc cung). Cạnh có thể có hướng hoặc vô hướng. Đồ thị thường được vẽ dưới dạng một tập các điểm (các đỉnh nối với nhau bẳng các đoạn thẳng (các cạnh).  Ví dụ Hình vẽ một đồ thị có 6 đỉnh và 7 cạnh 4 1 2 3 5 4 I. Giới thiệu  Bài toán tô màu đồ thị  Đề bài: • Cho một đồ thị vô hướng N đỉnh, mỗi đỉnh được nối với 1 số đỉnh khác. Bài toán đặt ra là: Hãy tô màu các đỉnh sao cho không có hai đỉnh nào có 2 màu giống nhau mà lại nối trực tiếp với nhau với số màu cần tô là ít nhất  Ví dụ: 1 2 3 5 4 MENU 5 II. Thuật toán 1 • Chọn một màu để tô. • Chọn một đỉnh chưa được tô • Tô màu cho đỉnh đó 2 • Với mỗi đỉnh chưa tô nếu không kề với đỉnh đã tô thì tô đỉnh đó bởi màu đã chọn. • Lặp lại việc tô cho đến khi không còn đỉnh nào có thể tô bằng màu đã chọn. 3 •Chọn một màu mới và lặp lại bước 2 cho đến khi tất cả các đỉnh được tô. 6 II. Thuật toán Sơ đồ khối của thuật toán END SAI màu của các đỉnh kề nut_i khác color setcolor(nut_i, color); nut_da_to++; nut_i++; nut_i >= n nut_da_to < n nut_i chưa tô nut_i = 0; color++; Vào dữ liệu (n, các liên kết) nut_da_to = 0; color = 1; nut_i = 0 BEGIN ĐÚNG SAI SAI ĐÚNG ĐÚNG ĐÚNG SAI MENU 7 III. Cấu trúc dữ liệu Tổ chức lưu trữ đỉnh đồ thị  Đỉnh của đồ thị là một đối tượng • class node{… }  Các thuộc tính của đỉnh • color kiểu số nguyên, mang giá trị là mã màu của đỉnh khi đỉnh đã được tô màu. • x, y kiểu số nguyên, là cặp tọa độ của đỉnh (để vẽ lên màn hình) • value kiểu xâu, là tên của đỉnh (để vẽ lên màn hình) • link kiểu con trỏ chỉ đến một danh sách liên kết. Danh sách liên kết này chứa các đỉnh kề với nó. 8 III. Cấu trúc dữ liệu Tổ chức lưu trữ đồ thị  Đồ thị • Đồ thị được lưu trữ là mảng graph[MAX_NODE] một chiều kiểu node, mỗi phần tử là một đỉnh.  Cung • Cung: nếu tồn tại cung giữa đỉnh i và đỉnh x thì ta chỉ cần thêm x vào danh sách các đỉnh kề của i (link) và ngược lại. MENU 9 IV. Chương trình 10 IV. Chương trình Chương trình  Chức năng: • Nhập dữ liệu cho chương trình từ bàn phím hoặc nhập từ file text • Hổ trợ chế độ đồ họa để vẽ các đỉnh, các cung liên kết, minh họa việc tô màu một cách trực quan. Có thể chỉnh thời gian thực hiện tô màu để quan sát từng bước việc tô màu các đỉnh đồ thị. • Sau khi tô màu có thể xuất kết quả tô màu ra file text [...]... nhanh chóng với độ chính xác cao đúng với thuật toán đã đưa ra • Có thiết kế đồ họa hiển thị trực quan • Có chức năng nhập dữ liệu trực tiếp hoặc nhập thông qua file, lưu dữ liệu đã nhập vào file để sử dụng lại, xuất kết quả ra file 17 V Kết luận Nhận xét về chương trình  Những điều còn thiếu sót: • Còn một số giới hạn về số nút (< 50 nút) và số màu tô cho đồ thị (nếu quá số màu thì sẽ đưa kết quả ra...IV Chương trình Chương trình  Menu: • Nhap: nhập số đỉnh của đồ thị • Nhap cac moi: nhập liên kết giữa các đỉnh Cú pháp là: dinh1 dinh2  nhập 0 0  để kết thúc nhập • To mau: thực hiện tô màu đồ thị • Doc tu file: Lựa chọn nhập dữ liệu từ file text • Save as: Lưu kết quả tô màu ra file text • (q)uit: Nhấn q để thoát khỏi chương trình 11 IV Chương... đồ thị (nếu quá số màu thì sẽ đưa kết quả ra file) • Do thực hiện đề tài trong một khoảng thời gian ngắn và sự thiếu kinh nghiệm nên đồ án của chúng em chắc chắn còn có nhiều thiếu sót  Chúng em rất mong nhận được sự chỉ bảo của thầy cô và góp ý của các bạn để đồ án hoàn thiện hơn 18 MENU . BÁO CÁO ĐỒ ÁN CẤU TRÚC DỮ LIỆU GVHD: Lê Quý Lộc SVTH : Lê Văn Sỹ Mai Thăng Long 2 Nội dung Kết luận 5 Giới thiệu 1 Thuật toán 2 Cấu trúc dữ liệu 3 Chương trình. Vào dữ liệu (n, các liên kết) nut_da_to = 0; color = 1; nut_i = 0 BEGIN ĐÚNG SAI SAI ĐÚNG ĐÚNG ĐÚNG SAI MENU 7 III. Cấu trúc dữ liệu Tổ chức lưu trữ đỉnh đồ thị  Đỉnh của đồ. liên kết. Danh sách liên kết này chứa các đỉnh kề với nó. 8 III. Cấu trúc dữ liệu Tổ chức lưu trữ đồ thị  Đồ thị • Đồ thị được lưu trữ là mảng graph[MAX_NODE] một chiều kiểu node, mỗi

Ngày đăng: 12/04/2015, 14:12

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan