Câu hỏi:

26/06/2024 88

Bổ sung thêm đoạn chương trình kiểm tra khi đọc dữ liệu danh sách các cạnh đồ thị của Hoạt động 3 như sau: Với mỗi dòng dữ liệu, nếu hai chỉ số i = j thì bỏ qua dòng này.

Sách mới 2k7: Sổ tay Toán, Lí, Hóa, Văn, Sử, Địa... kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 30k).

Sổ tay Toán-lý-hóa Văn-sử-đia Tiếng anh & các môn khác

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Trong trường hợp tệp dữ liệu biểu diễn danh sách các cạnh của đồ thị, mỗi dòng trong tệp dữ liệu thường chứa một cặp hoặc bộ ba đỉnh biểu diễn một cạnh. Để thiết lập dữ liệu của đồ thị từ tệp dữ liệu này, chúng ta cần đọc từng dòng và tạo các cạnh tương ứng trong đồ thị.

Dưới đây là một phần của chương trình Python để thiết lập dữ liệu của đồ thị từ tệp dữ liệu danh sách các cạnh, và bổ sung kiểm tra khi đọc dữ liệu để loại bỏ các cạnh không hợp lệ (cạnh mà hai đỉnh giống nhau):

def read_edge_list(filename):

    edges = []

    with open(filename, 'r') as file:

        for line in file:

            # Split each line to get the vertices of the edge

            vertices = line.strip().split()

            # Convert vertices to integers

            vertices = [int(v) for v in vertices]

            # Check if both vertices are the same, then skip this edge

            if vertices[0] == vertices[1]:

                continue

            # Add the edge to the list of edges

            edges.append(vertices)

    return edges

# Example usage:

edge_list_file = 'edge_list.txt'

edges = read_edge_list(edge_list_file)

print("Edges:", edges)

Trong đoạn mã trên đã đọc từng dòng từ tệp dữ liệu, tách dòng thành các đỉnh của cạnh và sau đó chuyển đổi chúng thành số nguyên. Trước khi thêm cạnh vào danh sách các cạnh, chúng ta kiểm tra xem hai đỉnh có giống nhau không. Nếu hai đỉnh giống nhau, nghĩa là cạnh này không hợp lệ và chúng ta sẽ bỏ qua nó. Cuối cùng, chúng ta trả về danh sách các cạnh đã được xây dựng từ tệp dữ liệu.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Một đơn đồ thị, vô hướng có n đỉnh, có thể có số cạnh lớn nhất là bao nhiêu?

Xem đáp án » 11/07/2024 772

Câu 2:

Từ ma trận kề A của đồ thị G có thể tính được số các cạnh của đồ thị không? Nếu được thì tính bằng cách nào?

Xem đáp án » 11/07/2024 228

Câu 3:

Khi nào ma trận kề A chỉ gồm toàn số 0?

Xem đáp án » 26/06/2024 227

Câu 4:

Cho ma trận kề A của đồ thị vô hướng G. Viết hàm GraphEdge(A) trả lại danh sách E các cạnh của đồ thị G.

Xem đáp án » 26/06/2024 146

Câu 5:

Vẽ đồ thị có tệp dữ liệu ma trận kề Hình 12.5

Vẽ đồ thị có tệp dữ liệu ma trận kề Hình 12.5 (ảnh 1)

 

Xem đáp án » 11/07/2024 145

Câu 6:

Tìm hiểu, thảo luận cách thiết lập dữ liệu của đồ thị trong trường hợp tệp dữ liệu biểu diễn danh sách các cạnh.

Xem đáp án » 11/07/2024 138

Câu 7:

Tìm hiểu, thảo luận về các cách biểu diễn dữ liệu của một đồ thị G.

Xem đáp án » 11/07/2024 116

Bình luận


Bình luận