Câu hỏi:

26/06/2024 146

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.

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

Để viết hàm GraphEdge(A) trả về danh sách các cạnh của đồ thị vô hướng từ ma trận kề A, chúng ta có thể sử dụng phương pháp duyệt qua ma trận kề và tạo danh sách các cạnh dựa trên các phần tử có giá trị 1.

Dưới đây là cách triển khai hàm này bằng Python:

def GraphEdge(A):

    n = len(A)

    edges = []

    for i in range(n):

        for j in range(i+1, n):  # Chỉ cần duyệt nửa phần tam giác trên của ma trận

            if A[i][j] == 1:  # Nếu có cạnh nối từ đỉnh i đến đỉnh j

                edges.append((i, j))  # Thêm cạnh vào danh sách cạnh

    return edges

# Ví dụ sử dụng

A = [

    [0, 1, 1, 0],

    [1, 0, 0, 1],

    [1, 0, 0, 1],

    [0, 1, 1, 0]

]

print(GraphEdge(A))  # In danh sách các cạnh của đồ thị G

Trong hàm này, chúng ta duyệt qua mỗi phần tử của ma trận kề A. Nếu phần tử A[i][j] có giá trị 1 (tức là có cạnh nối từ đỉnh i đến đỉnh j), chúng ta thêm cạnh (i,j) vào danh sách các cạnh. Chúng ta chỉ cần duyệt qua nửa phần tam giác trên của ma trận kề để tránh lặp lại việc đếm các cạnh hai lần. Cuối cùng, chúng ta trả về danh sách các cạnh đã tạo.

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:

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 5:

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 6:

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