Câu hỏi:
01/10/2024 86Một hãng hàng không đưa ra lịch bay trong ngày như sau:
- Từ TP.HCM: có một chuyến đến Hà Nội, Đà Nẵng, Phú Quốc, Nghệ An và Hải Phòng;
- Từ Hà Nội: có hai chuyến đến TP.HCM và một chuyến đến Đà Nẵng, Nghệ An, Hải Phòng;
- Từ Đà Nẵng: có một chuyến đến Hải Phòng, hai chuyến bay đến TP.HCM, một chuyến đến Hà Nội;
- Từ Nghệ An: có một chuyến đến Hà Nội, một chuyến đến TP.HCM;
- Từ Hải Phòng: có một chuyển đến Hà Nội, một chuyến đến TP.HCM, và một chuyến đến Đà Nẵng;
- Từ Phú Quốc: có một chuyến đến TP.HCM.
a) Vẽ đồ thị biểu diễn các thành phố có chuyến bay giữa chúng (không quan tâm đến số lượng các chuyến bay).
b) Từ đồ thị đã vẽ được trong câu a). Hãy biểu diễn đồ thị bằng hai cách:
- Ma trận kê.
- Danh sách kể.
Sách mới 2k7: Tổng ôn 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ừ 110k).
Quảng cáo
Trả lời:
Một hãng hàng không đưa ra lịch bay trong ngày như sau:
- Từ TP.HCM: có một chuyến đến Hà Nội, Đà Nẵng, Phú Quốc, Nghệ An và Hải Phòng;
- Từ Hà Nội: có hai chuyến đến TP.HCM và một chuyến đến Đà Nẵng, Nghệ An, Hải Phòng;
- Từ Đà Nẵng: có một chuyến đến Hải Phòng, hai chuyến bay đến TP.HCM, một chuyến đến Hà Nội;
- Từ Nghệ An: có một chuyến đến Hà Nội, một chuyến đến TP.HCM;
- Từ Hải Phòng: có một chuyển đến Hà Nội, một chuyến đến TP.HCM, và một chuyến đến Đà Nẵng;
- Từ Phú Quốc: có một chuyến đến TP.HCM.
a) Vẽ đồ thị biểu diễn các thành phố có chuyến bay giữa chúng (không quan tâm đến số lượng các chuyến bay).
b) Từ đồ thị đã vẽ được trong câu a). Hãy biểu diễn đồ thị bằng hai cách:
- Ma trận kê.
- Danh sách kể.
a) Vẽ đồ thị biểu diễn các thành phố có chuyến bay giữa chúng
Để biểu diễn các thành phố và các chuyến bay giữa chúng, chúng ta có các đỉnh (vertices) là các thành phố và các cạnh (edges) là các chuyến bay giữa các thành phố đó.
Các thành phố:
TP.HCM (HCM)
Hà Nội (HN)
Đà Nẵng (DN)
Phú Quốc (PQ)
Nghệ An (NA)
Hải Phòng (HP)
Các chuyến bay (cạnh):
Từ TP.HCM: HCM -> HN, HCM -> DN, HCM -> PQ, HCM -> NA, HCM -> HP
Từ Hà Nội: HN -> HCM, HN -> DN, HN -> NA, HN -> HP
Từ Đà Nẵng: DN -> HP, DN -> HCM, DN -> HN
Từ Nghệ An: NA -> HN, NA -> HCM
Từ Hải Phòng: HP -> HN, HP -> HCM, HP -> DN
Từ Phú Quốc: PQ -> HCM
Đồ thị:
b) Biểu diễn đồ thị bằng hai cách:
1. Ma trận kề (Adjacency Matrix)
Ma trận kề là một ma trận vuông trong đó mỗi hàng và cột đại diện cho một đỉnh (thành phố) và các phần tử ma trận biểu thị sự tồn tại của một cạnh (chuyến bay) giữa các đỉnh.
|
HCM |
HN |
DN |
PQ |
NA |
HP |
HCM |
0 |
1 |
1 |
1 |
1 |
1 |
HN |
1 |
0 |
1 |
0 |
1 |
1 |
DN |
1 |
1 |
0 |
0 |
0 |
1 |
PQ |
1 |
0 |
0 |
0 |
0 |
0 |
NA |
1 |
1 |
0 |
0 |
0 |
0 |
HP |
1 |
1 |
1 |
0 |
0 |
0 |
2. Danh sách kề (Adjacency List)
Danh sách kề biểu thị đồ thị bằng cách liệt kê các đỉnh kề nhau cho mỗi đỉnh trong đồ thị.
adj_list = {
"HCM": ["HN", "DN", "PQ", "NA", "HP"],
"HN": ["HCM", "DN", "NA", "HP"],
"DN": ["HP", "HCM", "HN"],
"PQ": ["HCM"],
"NA": ["HN", "HCM"],
"HP": ["HN", "HCM", "DN"]
}
Tóm tắt
Ma trận kề: Sử dụng một ma trận vuông để biểu diễn các kết nối giữa các thành phố. Mỗi hàng và cột tương ứng với một thành phố và phần tử tại hàng i cột j là 1 nếu có chuyến bay giữa thành phố i và j, ngược lại là 0.
Danh sách kề: Sử dụng một từ điển (dictionary) để liệt kê các thành phố kề nhau cho mỗi thành phố. Mỗi khóa của từ điển là một thành phố và giá trị tương ứng là một danh sách các thành phố có chuyến bay trực tiếp từ thành phố đó.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Em hãy dùng danh sách kề biểu diễn các đồ thị ở Hình 4 và Hình 5.
Câu 2:
Em hãy nhắc lại định nghĩa mảng hai chiều và cách khai báo mảng hai chiều trong ngôn ngữ Python. Theo em, có thể sử dụng mảng hai chiều để biểu diễn một đồ thị được không?
Câu 4:
Dựa trên mô tả của hình ảnh, đồ thị G3 có thể được biểu diễn bằng ma trận kề như sau:
Trong ma trận này, các hàng và cột tương ứng với các đỉnh của đồ thị, và một giá trị ‘1’ trong ma trận biểu thị sự kết nối trực tiếp giữa hai đỉnh, trong khi giá trị ‘0’ biểu thị không có kết nối trực tiếp.
Câu 5:
Cho hai đồ thị G6 (Hình 6) và G7 (Hình 7). Em hãy thực hiện biểu điễn bằng hai cách:
- Ma trận kê.
- Danh sách kề.
Câu 6:
Sử dụng chương trình trong bài học, hãy viết chương trình xuất ra màn hình ma trận kể biểu diễn đồ thị G2 (Hình 2) và G3 (Hình 3).
263 câu Trắc nghiệm tổng hợp ôn thi tốt nghiệp THPT môn Tin học Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính có đáp án
15 câu Trắc nghiệm Tin học 12 KNTT Bài 7: HTML và cấu trúc trang web
15 câu Trắc nghiệm Tin học 12 KNTT Bài 10: Tạo liên kết
15 câu Trắc nghiệm Tin học 12 KNTT Bài 8: Định dạng văn bản
15 câu Trắc nghiệm Tin học 12 KNTT Bài 11: Chèn tệp tin đa phương tiện và khung nội tuyến vào trang web
15 câu Trắc nghiệm Tin học 12 KNTT Bài 9: Tạo danh sách, bảng
15 câu Trắc nghiệm Tin học 12 Cánh diều Bài 1: Làm quen với ngôn ngữ đánh dấu siêu văn bản
Đề thi Học kì 1 Tin học 12 có đáp án (Đề 1)
về câu hỏi!