Các ac chỉ em cách làm bài này với ạ.Code C
Biểu diễn đồ thị có hướng bằng danh sách kề (1.dữ liệu sinh ngẫu nhiên, 2.dl nhập từ bàn phím, 3.dữ liệu được tổ chức,4. dl được lưu trữ trên tệp tin).
Các ac chỉ em cách làm bài này với ạ.Code C
Biểu diễn đồ thị có hướng bằng danh sách kề (1.dữ liệu sinh ngẫu nhiên, 2.dl nhập từ bàn phím, 3.dữ liệu được tổ chức,4. dl được lưu trữ trên tệp tin).
Bạn làm được gì rồi?
phần sinh ngẫu nhiên chưa làm được
Vậy bạn hãy làm phần nhập dữ liệu lưu trữ trên tập tin.
Sau đó dựa theo cấu trúc tập tin này, sinh giá trị ngẫu nhiên ra 1 tập tin tạm.
Cuối cùng là nhập dữ liệu từ tập tin tạm kia là được rồi
có code vd cụ thể không ạ?
Bạn tự code nhé, mình cho cấu trúc và file ví dụ th.
// cấu trúc của một đỉnh
typedef struct node {
char[30] label; // tên của một đỉnh
int index; // số thứ tự của đỉnh đó
struct **node adjlist; // danh sách các đỉnh kề với nó
int *weight; // trọng số của cạnh (u, v_i) với u là đỉnh hiện tại, v_i là đỉnh thứ i trong danh sách kề ở trên
int in_degree; // bậc vào (không cần thiết lắm, có thể bỏ)
int out_degree; // bậc ra (như trên)
} node_t;
// cấu trúc của một đồ thị
typedef struct graph {
int n_v; // số đỉnh
int n_e; // số cạnh (có thể tự tính được nên bỏ đi cũng k sao :v)
node_t *v; // danh sách các đỉnh
} graph_t;
Input file (nhớ bỏ phần comment đi. :v)
7 // số đỉnh
A B C // tức A có đường đi tới B và C là cung AB và AC
B D // cung BD
C F // cung CF
D E // cung DE
E C G // cung EC và EG
F // không có đường ra từ F (có thể bỏ dòng này cũng được)
G F // cung GF
Đồ thị cho file trên