1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tô màu đồ thị trong việc sắp xếp sách theo từng loại trên cùng một kệ trong thư viện

17 460 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 188,15 KB

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

Nội dung

Tô màu đồ thị trong việc sắp xếp sách theo từng loại trên cùng một kệ trong thư viện

Trang 1

kimMỤC LỤC

1.Phần Mở Đầu

I.1 Lý do Chọn đề tài 3

I.2 Đối tượng nghiên cứu 3

I.3 Nhiệm vụ nghiên cứu .3

I.4 Phương nghiên cứu .3

I.5 Kế hoạch nghiên cứu .3

2 Phần Nội Dung 2.1 Cơ sở lý thuyết 4

2.1.1 Mô tả bài toán 4

2.1.2 Thuật toán tô màu đồ thị 4

2.1.3 Xây dựng chương trình 4

2.2 Đồ Thị 5

2.3 Ma Trận trọng số 6

2.4 Cài đạt Thuật Toán ( Code ) Tô Màu Đồ Thị : .6

2.5 Chạy Thuật Toán .9

2.6 Đánh giá giải thuật 17

3 KẾT LUẬN .17

4 Tài Liệu tham khảo: .17

Trang 2

NHẬN XÉT

Trà vinh,ngày tháng năm GVHD

TRẦN QUANG HÀ

Trang 3

1.Phần Mở Đầu

I.6 Lý do Chọn đề tài

Qua lý thuyết đến những ứng dụng thực tế, môn lý thuyết đồ thị dã thực sự góp phần không ít vào đời sống hàng ngay cua chúng ta Bài toán to màu đồ thị là một trong những bài toán được ứng dung kha rông như: Tô màu bản đồ, sấp xếp lịch thi cho sinh viên, phân chia tần số gia các đài, sấp xếp sách trong thư viện….Vi vậy, việc nghiên cứu rất cần thiết cho việc giải quyết những vấn đề rắt rối trong công việc cua chúng ta Do đó, em chọn đề tài :”

Tô màu đồ thị trong việc sấp xếp sách theo từng loại trên cùng một kệ trong thư viện “

để hy vọng giúp một phần nào đó cho thư viện

I.7 Đối tượng nghiên cứu

Sấp xếp những quyển sách cùng một loại thì ở cùng một kệ Mỗi kệ được dùng tương ứng với bấy nhiêu loại sách ma ta sự dụng trong thư viện

I.8 Nhiệm vụ nghiên cứu

Tìm hiểu tính thực dụng của đề tài

I.9 Phương nghiên cứu

Khảo sát, Phân tích, thiết kế, lập trình ( viết code )

I.10 Kế hoạch nghiên cứu

Tuần 1: đưa ra ý tưởng, nghiên cứu đề tài

Tuần 2: xây dựng đề tài

Tuần 3: viết chưong trình

Tuần 4: viết bài báo cáo

Tuần 5: báo cáo và bảo vệ báo cáo (bảo vệ đề tài )

2 Phần Nội Dung

Trang 4

2.1 Cơ sở lý thuyết

2.1.1 Mô tả bài toán

Sự dung phương pháp tô màu đồ thị để bố trí sách theo từng loại vào từng kể của của loại sách đó Yêu cầu, bố trí sách sau cho hai sách kề nhau không cùng một loại

Vi dụ:

1 lập trình C++

2 Đại số tuyến tính

3 lập trình C#

4 photoshop

5 lập trình Java

6 Tư tưởng HCM

7 Flash

8 Toán rời rạc

2.1.2 Thuật toán tô màu đồ thị

Input: đồ thị G = (V, E)

Output: đồ thị G = (V, E) có các đỉnh đã được gán màu

Bước 1 :tô màu 1 cho đỉnh 1

Bước 2 :tô màu cho các đỉnh i (i=2,3,4, ,n) theo quy tắc.Gọi MAU là tập các màu đã tô cho các đỉnh kề với i.Chọn số nguyên dương nhỏ nhất chưa có trong tập MAU để tô màu cho đỉnh i

2.1.3 Xây dựng chương trình

Các đỉnh được sắp theo bậc.Đầu tiên gán màu 1 cho đỉnh 1.Xét tiếp các đỉnh để tô màu cho các đỉnh còn lại.Quá trình tô màu cho các đỉnh được xét bởi các vòng lặp nhỏ để kiểm tra tính liên thông,nếu liên thông sẽ không được gán trùng màu và ngược lại

Quá trình được lặp lại cho đến khi không còn đỉnh nào chưa được tô

2.2 Đồ Thị

Trang 5

2.3 Ma Trận trọng số

Trang 6

2.4 Cài đạt Thuật Toán ( Code ) Tô Màu Đồ Thị :

#include"stdio.h"

#include"conio.h"

#include"stdlib.h"

#define max 50

int n,b[50],a[max][max];

void to(int n)

{

switch(n)

Trang 7

case 1:

printf(" xanh luc ");

break;

case 2:

printf(" do ");

break;

case 3:

printf(" vang ");

break;

case 4:

printf(" tim ");

break;

case 5:

printf(" hong ");

break;

case 6:

printf(" cam ");

break;

} }

void docfile(void)

{

FILE *fp;

int i,j;

fp=fopen("d:\\tomau.txt","rt");

fscanf(fp,"%d",&n);

printf(" ma tran ke la ");

for (i=1;i<=n;i++)

Trang 8

{ printf("\n");

for (j=1;j<=n;j++)

{

fscanf(fp,"%d",&a[i][j]);

printf("%3d",a[i][j]);

} }

fclose(fp);

}

void Tomau()

{ int i,j;

b[1]=1;//đỉnh 1 được tô bằng màu 1 for (i=2;i<=n;i++ )//biến chạy từ đỉnh thứ 2->n {

b[i]=1;//đỉnh i được tô bằng màu 1

nhan:

for (j=1;j<=i-1;j++)// biến chạy nửa dưới đường đối xứng của ma trận

if (a[i][j]!=0&&b[i]==b[j])//điều kiện 2đỉnh liên thông và 2 đỉnh tô

cùng màu

b[i]++;//tăng màu đỉnh i for (j=1;j<=n;j++)//biến chạy từ 1->n ktra đỉnh vừa mới tô

if(a[i][j]!=0&&b[i]==b[j])// điều kiện 2 đỉnh liên thông và 2 đỉnh tô cùng màu

goto nhan;

}

}

void xuat(void)

{ printf(" \nto mau cac dinh la ");

for(int i=1;i<=n;i++)

Trang 9

printf("\n dinh %d to mau ",i,b[i]);

to(b[i]);

}

printf("\n");

}

void main()

{ clrscr();

docfile();

Tomau();

xuat();

getch();

}

2.5 Chạy Thuật Toán

Tảo File notepad, nhập ma trận trọng số trên và lưu với tên tomaudothi.txt (n=8) ở

Local Disk (D:)

Dùng hàm docfile: để mở ma trận trọng số (được lưu trong notepad)

Dùng hàm tomau: để tiến hành tô màu cho các đỉnh theo các bước:

Ban đầu gán màu 1 cho đỉnh 1: mau[1]=1 (Xanh lam)

Màu 1(Xanh)

Chạy vòng lặp for(i=2;i<=n;i++)

Khi i=2 điều kiện i<=n (2<=8) đúng.

b[2]=1: đỉnh 2 được tô màu 1

Xét tiếp vòng lập for(j=1; j<=i-1; j++)

j=1; i=2  1<=1 (đúng) <=> a[2][1] !=0 và b[1]=b[2] (đúng)

b[2]++ : tô màu 2 cho đỉnh 2

Trang 10

j=2 ;i=2 ;2<=1 (sai)  thoát khỏi dòng lặp for Xét tiếp vòng lặp for(j=1; j<=n; j++)

j=1; n=8; 1<=8 (đúng) <=> a[2][1] !=0 và b[2]=b[1] (sai)

không thực hiện lệnh ‘go to nhan’

j=2; n=8; 2<=8 (đúng) <=> a[2][2] !=0 và b[2]=b[2] (sai)

không thực hiện lệnh ‘go to nhan’

j=3; n=8; 3<=8 (đúng) <=> a[2][3] !=0 và b[2]=b[3] (sai)

không thực hiện lệnh ‘go to nhan’

j=4; n=8; 4<=8 (đúng) <=> a[2][4] !=0 và b[2]=b[4] (sai)

không thực hiện lệnh ‘go to nhan’

j=5; n=8; 5<=8 (đúng) <=> a[2][5] !=0 và b[2]=b[5] (sai)

không thực hiện lệnh ‘go to nhan’

j=6; n=8; 6<=8 (đúng) <=> a[2][6] !=0 và b[2]=b[6] (sai)

không thực hiện lệnh ‘go to nhan’

j=7; n=8; 6<=8 (đúng) <=> a[2][7] !=0 và b[2]=b[7] (sai)

không thực hiện lệnh ‘go to nhan’

j=8; n=8; 6<=8 (đúng) <=> a[2][8] !=0 và b[2]=b[8] (sai)

không thực hiện lệnh ‘go to nhan’

j=9; n=8; 9<=8 (sai)  thoát khỏi dòng lặp for (j=1 ;j<=n ;j++)

lúc này ta có mảng b[] như sau:

Màu 1(Xanh) 2(Đỏ)

Quay trở lên dòng lặp for(i=2 ;i<=n ;i++)  tiếp tục tăng i=3

Khi i=3 điều kiện i<=n (3<=8) đúng.

b[3]=1 :đỉnh 3 được tô màu 1

Xét dòng lặp for(j=1;j<=i-1;j++)

j=1; i=3  1<=2 (đúng) <=> a[3][1] !=0 và b[1]=b[3] (sai)

không thực hiện : b[3]++

Trang 11

j=2; i=3  2<=2 (đúng) <=> a[3][2] !=0 và b[2]=b[3] (sai) j=3; i=3  3<=2 (sai)  thoát khỏi dòng lặp for

Xét tiếp dòng lặp for(j=1 ;j<=n ;j++)

j=1; n=6  1<=6 (đúng) <=> a[3][1] !=0 và b[3]=b[1] (sai)

không thực hiện lệnh ‘go to nhan’

j=2; n=8  2<=8 (đúng) <=> a[3][2] !=0 và b[3]=b[2] (sai)

j=3; n=8  3<=8 (đúng) <=> a[3][3] !=0 và b[3]=b[3] (sai)

j=4; n=8  4<=8 (đúng) <=> a[3][4] !=0 và b[3]=b[4] (đúng)

Thực hiện lệnh ‘ go to nhan ’ i=3 ; j=4  4<=2 (sai) <=> thoát dòng lập for

j=5; n=8  5<=8 (đúng) <=> a[3][5] !=0 và b[3]=b[5] (sai)

j=6; n=8  6<=8 (đúng) <=> a[3][6] !=0 và b[3]=b[6] (sai)

j=7; n=8  7<=8 (đúng) <=> a[3][7] !=0 và b[3]=b[7] (sai)

j=8; n=8  8<=8 (đúng) <=> a[3][8] !=0 và b[3]=b[8] (đúng)

Thực hiện lệnh ‘ go to nhan ’

i=3 ; j=8  8<=2 (sai) <=> thoát dòng lập for

j=9; n=8  9<=8 (sai) : thoát khỏi dòng lặp for (j=1 ;j<=n ;j++)

lúc này ta có mảng b[] như sau:

Màu 1(Xanh) 2(Đỏ) 1(Xanh)

Quay trở lên dòng lặp for(i=2 ;i<=n ;i++) tiếp tục tăng i=4

Khi i=4 điều kiện i<=n (4<=8) đúng.

b[4]=1 :đỉnh 4 được tô màu 1

Xét dòng lặp for(j=1;j<=i-1;j++)

j=1; i=4  1<=3 (đúng) <=> a[4][1] !=0 và b[1]=b[4] (sai)

không thực hiện : b[3]++

j=2; i=4  2<=3 (đúng) <=> a[4][2] !=0 và b[2]=b[4] (sai)

Trang 12

j=3; i=4  3<=3 (đúng) <=> a[4][3] !=0 và b[3]=b[4] (đúng) b[4]++ : tô màu 2 cho đỉnh 4

j=4; i=4  4<=3 (sai)  thoát khỏi dòng lặp for

Xét tiếp dòng lặp for(j=1 ;j<=n ;j++)

j=1; n=6  1<=6 (đúng) <=> a[4][1] !=0 và b[4]=b[1] (sai)

không thực hiện lệnh ‘go to nhan’

j=2; n=8  2<=8 (đúng) <=> a[4][2] !=0 và b[4]=b[2] (sai)

j=3; n=8  3<=8 (đúng) <=> a[4][3] !=0 và b[4]=b[3] (sai)

j=4; n=8  4<=8 (đúng) <=> a[4][4] !=0 và b[4]=b[4] (sai)

j=5; n=8  5<=8 (đúng) <=> a[4][5] !=0 và b[4]=b[5] (sai)

j=6; n=8  6<=8 (đúng) <=> a[4][6] !=0 và b[4]=b[6] (sai)

j=7; n=8  7<=8 (đúng) <=> a[4][7] !=0 và b[4]=b[7] (sai)

j=8; n=8  8<=8 (đúng) <=> a[4][8] !=0 và b[4]=b[8] (sai)

j=9; n=8  9<=8 (sai)  thoát khỏi dòng lặp for (j=1 ;j<=n ;j++)

lúc này ta có mảng b[] như sau :

Màu 1(Xanh) 2(Đỏ) 1(Xanh) 2(Đỏ)

Quay trở lên dòng lặp for(i=2 ;i<=n ;i++) tiếp tục tăng i=5

Khi i=5 điều kiện i<=n (5<=8) đúng.

b[5]=1 :đỉnh 5 được tô màu 1

Xét dòng lặp for(j=1;j<=i-1;j++)

j=1; i=5  1<=4 (đúng) <=> a[5][1] !=0 và b[1]=b[5] (sai)

không thực hiện : b[3]++

j=2; i=5  2<=4 (đúng) <=> a[5][2] !=0 và b[2]=b[5] (sai) j=3; i=5  3<=4 (đúng) <=> a[5][3] !=0 và b[3]=b[5] (sai) j=4; i=5  4<=4 (đúng) <=> a[5][4] !=0 và b[4]=b[5] (sai)

j=5; i=5  5<=4 (sai)  thoát khỏi dòng lặp for

Trang 13

Xét tiếp dòng lặp for(j=1 ;j<=n ;j++)

j=1; n=8  1<=8 (đúng) <=> a[5][1] !=0 và b[5]=b[1] (sai)

không thực hiện lệnh ‘go to nhan’

j=2; n=8  2<=8 (đúng) <=> a[5][2] !=0 và b[5]=b[2] (sai)

j=3; n=8  3<=8 (đúng) <=> a[5][3] !=0 và b[5]=b[3] (sai)

j=4; n=8  4<=8 (đúng) <=> a[5][4] !=0 và b[5]=b[4] (sai)

j=5; n=8  5<=8 (đúng) <=> a[5][5] !=0 và b[5]=b[5] (sai)

j=6; n=8  6<=8 (đúng) <=> a[5][6] !=0 và b[5]=b[6] (đúng)

Thực hiện lệnh ‘ go to nhan ’

i=5 ; j=6  6<=4 (sai) <=> thoát dòng lập for

j=7; n=8  7<=8 (đúng) <=> a[5][7] !=0 và b[5]=b[7] (đúng)

Thực hiện lệnh ‘ go to nhan ’

i=5 ; j=7  7<=4 (sai) <=> thoát dòng lập for

j=8; n=8  8<=8 (đúng) <=> a[5][8] !=0 và b[5]=b[8] (đúng)

Thực hiện lệnh ‘ go to nhan ’

i=5 ; j=8  8<=4 (sai) <=> thoát dòng lập for

j=9; n=8  9<=8 (sai)  thoát khỏi dòng lặp for (j=1 ;j<=n ;j++)

lúc này ta có mảng b[] như sau:

Màu 1(Xanh) 2(Đỏ) 1(Xanh) 2(Đỏ) 1(Xanh)

Quay trở lên dòng lặp for(i=2 ;i<=n ;i++) tiếp tục tăng i=6

Khi i=6 điều kiện i<=n (6<=8) đúng.

b[6]=1 :đỉnh 6 được tô màu 1

Xét dòng lặp for(j=1;j<=i-1;j++)

j=1; i=6  1<=4 (đúng) <=> a[6][1] !=0 và b[6]=b[1] (đúng)

mau[6]++ : tô màu 2 cho đỉnh 6

j=2; i=6  2<=5 (đúng) <=> a[6][2] !=0 và b[6]=b[2] (sai)

Trang 14

j=3; i=6  3<=5 (đúng) <=> a[6][3] !=0 và b[6]=b[3] (sai) j=4; i=6  4<=5 (đúng) <=> a[6][4] !=0 và b[6]=b[4] (sai)

j=5; i=6  5<=5 (đúng) <=> a[6][5] !=0 và b[6]=b[5] (sai) j=6; i=6  6<=5 (sai) thoát khỏi dòng lặp for

Xét tiếp dòng lặp for(j=1 ;j<=n ;j++)

j=1; n=8  1<=8 (đúng) <=> a[6][1] !=0 và b[6]=b[1] (sai)

không thực hiện lệnh ‘go to nhan’

j=2; n=8  2<=8 (đúng) <=> a[6][2] !=0 và b[6]=b[2] (sai)

j=3; n=8  3<=8 (đúng) <=> a[6][3] !=0 và b[6]=b[3] (sai)

j=4; n=8  4<=8 (đúng) <=> a[6][4] !=0 và b[6]=b[4] (sai)

j=5; n=8  5<=8 (đúng) <=> a[6][5] !=0 và b[6]=b[5] (sai)

j=6; n=8  6<=8 (đúng) <=> a[6][6] !=0 và b[6]=b[6] (sai)

j=7; n=8  7<=8 (đúng) <=> a[6][7] !=0 và b[6]=b[7] (sai)

j=8; n=8  8<=8 (đúng) <=> a[6][8] !=0 và b[6]=b[8] (sai)

j=9; n=8  9<=8 (sai)  thoát khỏi dòng lặp for (j=1 ;j<=n ;j++)

lúc này ta có mảng như sau:

Màu 1(Xanh) 2(Đỏ) 1(Xanh) 2(Đỏ) 1(Xanh) 2(Đỏ)

Quay trở lên dòng lặp for(i=2 ;i<=n ;i++) tiếp tục tăng i=7

Khi i=7 điều kiện i<=n (7<=8) đúng.

b[7]=1 :đỉnh 7 được tô màu 1

Xét dòng lặp for(j=1;j<=i-1;j++)

j=1; i=7  1<=6 (đúng) <=> a[7][1] !=0 và b[7]=b[1] (đúng)

mau[7]++ : tô màu 2 cho đỉnh 7

Trang 15

j=2; i=7  2<=6 (đúng) <=> a[7][2] !=0 và b[7]=b[2] (đúng)

mau[7]++ : tô màu 3 cho đỉnh 7

j=3; i=7  3<=6 (đúng) <=> a[7][3] !=0 và b[7]=b[3] (sai)

j=4; i=7  4<=6 (đúng) <=> a[7][4] !=0 và b[7]=b[4] (sai)

j=5; i=7  5<=6 (đúng) <=> a[7][5] !=0 và b[7]=b[5] (sai) j=6; i=7  6<=6 (đúng) <=> a[7][5] !=0 và b[7]=b[5] (sai) j=7; i=7  7<=6 (sai) thoát khỏi dòng lặp for

Xét tiếp dòng lặp for(j=1 ;j<=n ;j++)

j=1; n=8  1<=8 (đúng) <=> a[7][1] !=0 và b[7]=b[1] (sai)

không thực hiện lệnh ‘go to nhan’

j=2; n=8  2<=8 (đúng) <=> a[7][2] !=0 và b[7]=b[2] (sai)

j=3; n=8  3<=8 (đúng) <=> a[7][3] !=0 và b[7]=b[3] (sai)

j=4; n=8  4<=8 (đúng) <=> a[7][4] !=0 và b[7]=b[4] (sai)

j=5; n=8  5<=8 (đúng) <=> a[7][5] !=0 và b[7]=b[5] (sai)

j=6; n=8  6<=8 (đúng) <=> a[7][6] !=0 và b[7]=b[6] (sai)

j=7; n=8  7<=8 (đúng) <=> a[7][7] !=0 và b[7]=b[7] (sai)

j=8; n=8  8<=8 (đúng) <=> a[7][8] !=0 và b[7]=b[8] (sai)

j=9; n=8  9<=8 (sai)  thoát khỏi dòng lặp for (j=1 ;j<=n ;j++)

lúc này ta có mảng như sau:

Màu 1(Xanh) 2(Đỏ) 1(Xanh) 2(Đỏ) 1(Xanh) 2(Đỏ) 3(Vàng)

Quay trở lên dòng lặp for(i=2 ;i<=n ;i++) tiếp tục tăng i=6

Khi i=8 điều kiện i<=n (8<=8) đúng.

b[8]=1 :đỉnh 8 được tô màu 1

Xét dòng lặp for(j=1;j<=i-1;j++)

j=1; i=8  1<=7 (đúng) <=> a[8][1] !=0 và b[8]=b[1] (sai)

j=2; i=8  2<=7 (đúng) <=> a[8][2] !=0 và b[8]=b[2] (sai)

Trang 16

j=3; i=8  3<=7 (đúng) <=> a[8][3] !=0 và b[8]=b[3] (đúng)

mau[8]++ : tô màu 2 cho đỉnh 8

j=4; i=8  4<=7 (đúng) <=> a[8][4] !=0 và b[8]=b[4] (đúng)

mau[8]++ : tô màu 3 cho đỉnh 8

j=5; i=8  5<=7 (đúng) <=> a[8][5] !=0 và b[8]=b[5] (sai) j=6; i=8  6<=7 (đúng) <=> a[8][6] !=0 và b[8]=b[6] (sai) j=7; i=8  7<=7 (đúng) <=> a[8][7] !=0 và b[8]=b[7] (đúng)

mau[8]++ : tô màu 4 cho đỉnh 8

j=8; i=8  8<=7 (sai) thoát khỏi dòng lặp for Xét tiếp dòng lặp for(j=1 ;j<=n ;j++)

j=1; n=8  1<=8 (đúng) <=> a[8][1] !=0 và b[8]=b[1] (sai)

không thực hiện lệnh ‘go to nhan’

j=2; n=8  2<=8 (đúng) <=> a[8][2] !=0 và b[8]=b[2] (sai)

j=3; n=8  3<=8 (đúng) <=> a[8][3] !=0 và b[8]=b[3] (sai)

j=4; n=8  4<=8 (đúng) <=> a[8][4] !=0 và b[8]=b[4] (sai)

j=5; n=8  5<=8 (đúng) <=> a[8][5] !=0 và b[8]=b[5] (sai)

j=6; n=8  6<=8 (đúng) <=> a[8][6] !=0 và b[8]=b[6] (sai)

j=7; n=8  7<=8 (đúng) <=> a[8][7] !=0 và b[8]=b[7] (sai)

j=8; n=8  8<=8 (đúng) <=> a[8][8] !=0 và b[8]=b[8] (sai)

j=9; n=8  9<=8 (sai)  thoát khỏi dòng lặp for (j=1 ;j<=n ;j++)

lúc này ta có mảng như sau:

Màu 1(Xanh) 2(Đỏ) 1(Xanh) 2(Đỏ) 1(Xanh) 2(Đỏ) 3(Vàng) 4(Tím)

Quay trở lên dòng lặp for(i=2 ;i<=n ;i++) tiếp tục tăng i=9

Khi i=9 điều kiện i<=n (9<=8)  Sai

<=> Thoát khỏi vòng lập trong ham tomau và xuất ra màng hình Kết thúc chưong

trình

Trang 17

2.6 Đánh giá giải thuật

Với dòng lặp : for(int i=1;i<=n;i++)  Độ phức tạp của nó là: n+1

Với dòng lặp : for(int j=1;j<=n;j++)  Độ phức tạp của nó là: n+1

3 KẾT LUẬN

Chương trình đã được xây dựng qua các giai đoạn hoàn chỉnh: giai đoạn khảo sát, giai đoạn phân tích, giai đoạn thiết kế, giai đoạn lập trình và giai đoạn kiểm thử.

Đó là quá trình của việc nghiên cứu sau bốn tuần, với sự hướng dẫn tận tình của Thầy và sự giúp đỡ của bạn bè, em đã hoàn thành được bài báo cáo này Ty nhiên vẫn còn nhiều lỗi thiếu xót

Mong các ban thong cảm và giúp minh hoàng thiệt tốt hơn cho đêg tài

4 Tài Liệu tham khảo:

[1] Đặng Huy Ruận, Lý thuyết đồ thị và ứng dụng, Nhà xuất bản khoa học và kỹ

thuật - Hà nội 2000

Ngày đăng: 05/07/2016, 11:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w