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
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?
Giải Chuyên đề Tin 12 Bài 13: Thực hành thiết lập đồ thị - Kết nối tri thức
Luyện tập 2 trang 64 Chuyên đề Tin học 12: 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?
Lời giải:
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)
Lời giải bài tập Chuyên đề Tin 12 Bài 13: Thực hành thiết lập đồ thị hay, ngắn gọn khác: