Trong Nhiệm vụ 2, chúng ta có thể thấy các đỉnh kề không được in ra theo thứ tự tăng dần của chỉ số trong biểu diễn danh sách kề...

2. Trong Nhiệm vụ 2, chúng ta có thể thấy các đỉnh kề không được in ra theo thứ tự tăng dần của chỉ số trong biểu diễn danh sách kề. Em hãy giải thích tại sao. Có thể chỉnh sửa chương trình để in ra các đỉnh kề theo thứ tự chỉ số tăng dần được không?


Trong Nhiệm vụ 2, việc in ra các đỉnh kề không được theo thứ tự tăng dần của chỉ số trong biểu diễn danh sách kề là do cách danh sách kề được xây dựng. Thường thì khi chúng ta thêm một cạnh mới vào danh sách kề của một đỉnh, chúng ta không đảm bảo rằng các đỉnh kề sẽ được thêm vào theo thứ tự tăng dần của chỉ số.

Để in ra các đỉnh kề theo thứ tự chỉ số tăng dần, chúng ta có thể sắp xếp danh sách kề của mỗi đỉnh trước khi in ra. Dưới đây là cách cải tiến chương trình để in ra các đỉnh kề theo thứ tự chỉ số tăng dần:

def In_danh_sach_dinh_ke_sap_xep(Adj):

    for i, neighbors in enumerate(Adj):

        sorted_neighbors = sorted(neighbors)  # Sắp xếp các đỉnh kề theo thứ tự tăng dần

        print(f"Danh sách kề của đỉnh {i} (theo thứ tự tăng dần): {sorted_neighbors}")

# Sử dụng:

Adj = [

 danh sách kề Adj có trong sách

]

In_danh_sach_dinh_ke_sap_xep(Adj)


Bình luận

Giải bài tập những môn khác