Câu hỏi:

26/06/2024 26

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.

Siêu phẩm 30 đề thi thử THPT quốc gia 2024 do thầy cô VietJack biên soạn, chỉ từ 100k trên Shopee Mall.

Mua ngay

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 » 26/06/2024 37

Câu 2:

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 33

Câu 3:

Khẳng định dãy Adj[i] có số lượng phần tử bằng số các phần tử có giá trị 1 của hàng thứ i của ma trận kề A là đúng hay sai?

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

Câu 4:

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 » 26/06/2024 27

Câu 5:

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

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

Câu 6:

Khi nào thì tất cả các phần tử của Adj đều rỗng?

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

Bình luận


Bình luận