1. Trang chủ
  2. » Công Nghệ Thông Tin

CẤU TRÚC DỮ LIỆU CHO ĐỒ THỊ ppt

10 629 2

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 292,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Biểu diễn danh sách kề cho đồ thị 1 2.. Biểu diễn ma trận kề cho đồ thị sau... Dòng đầu tiên: số đỉnh của đồ thị 2.. Mỗi dòng chứa n số nguyên ứng với giá trị trong ma trận kề... T ổ ng

Trang 1

Cu trúc dliu cho đth

 Ma trận kề:

- Biểu diễn đồ thị G=(V,E) bằng ma trận kề |V|

với N hàng, N cột với các giá trị 0,1

|V|= 0 Nếu không tồn tại cạnh giữa vivj

1 Nếu tồn tại cạnh giữa vivj

- Đồ thị có thị có trọng số: Giá trị của ma trận kề

gồm trọng số của các cạnh

Trang 2

Cu trúc dliu cho đth

Ví dụ: Biểu diễn ma trận kề cho các đồ thị sau

Trang 3

Cu trúc dliu cho đth

 Danh sách kề:

- Biểu diễn đồ thị G=(V,E) bằng danh sách kề |V| là

một mảng 1 chiều có size N, trong đó mỗi đỉnh tương đương 1 danh sách liên kết

Trang 4

Cu trúc dliu cho đth

Bài tập:

1 Biểu diễn danh sách kề

cho đồ thị 1

2 Biểu diễn ma trận kề cho

đồ thị sau

Trang 5

Cu trúc dliu cho đth

Cài đặt ma trận kề:

#define max 100

struct Graph

{

int n;

int a[max][max];

};

Định dạng dữ liệu: Dữ liệu vào ma trận kề được

lưu ở file: 1 Dòng đầu tiên: số đỉnh của đồ thị

2 Mỗi dòng chứa n số nguyên ứng với giá trị trong ma trận kề

Trang 6

Cu trúc dliu cho đth

Đọc ma trận kề từ file:

void Matranke (Graph &g)

{ char file[128];

printf(“Tap tin nguon (Dothi.txt)”);

gets(file);

if (strcmp(file,””)==0)

strcpy(file,”Dothi.txt”);

FILE *f;

f = fopen(file,”rt”);

Trang 7

Cu trúc dliu cho đth

if ( f==NULL)

{ printf(“Khong mo duoc file”);

exit(0);

}

fscanf(f,”%d”,&g.n);

for (int i=0;i<g.n;i++)

for (int j =0;j<g.n;j++)

fscanf (f,”%d”,&g.a[i][j]);

fclose(f);

}

Trang 8

THUT TOÁN DUYT

Trang 9

Tng quan

 Duyệt hay tìm kiếm trên đồ thị: ghé qua mỗi đỉnh trong đồ thị một cách có hệ thống

- Duyệt đồ thị không phụ thuộc vào hướng của cạnh

 Có 2 cách duyệt đồ thị:

- Duyệt theo chiều sâu ( Depth-first)

- Duyệt theo chiều rộng (Breadth-first)

Trang 10

Duyt theo chiu sâu

Duyệt theo chiều sâu: Mỗi lần duyệt một đỉnh ta duyệt đến tận cùng mỗi nhánh rồi mới chuyển sang duyệt nhánh khác

Ví dụ:

A

B

D

H

C

E

G

F

1

5

7 6

8

Thứ tự duyệt: A, B, D, H, E, F, G, C

Ngày đăng: 08/08/2014, 05:21

HÌNH ẢNH LIÊN QUAN

Đồ thị sau - CẤU TRÚC DỮ LIỆU CHO ĐỒ THỊ ppt
th ị sau (Trang 4)

TỪ KHÓA LIÊN QUAN

w