Câu hỏi:

01/10/2024 24

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?

Sách mới 2k7: 30 đề đánh giá năng lực DHQG Hà Nội, Tp. Hồ Chí Minh, BKHN 2025 mới nhất (600 trang - chỉ từ 160k).

Mua bộ đề Hà Nội Mua bộ đề Tp. Hồ Chí Minh Mua đề Bách Khoa

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Định nghĩa mảng hai chiều và cách khai báo mảng hai chiều trong Python

Định nghĩa mảng hai chiều

Mảng hai chiều là một cấu trúc dữ liệu cho phép lưu trữ các phần tử trong một bảng có hàng và cột. Mỗi phần tử trong mảng hai chiều có thể được truy cập bằng cách sử dụng hai chỉ số: chỉ số hàng và chỉ số cột.

Cách khai báo mảng hai chiều trong Python

Trong Python, có nhiều cách để khai báo và sử dụng mảng hai chiều, nhưng phổ biến nhất là sử dụng danh sách lồng nhau (nested lists). Dưới đây là một số cách để khai báo mảng hai chiều trong Python:

1. Sử dụng danh sách lồng nhau:

# Khai báo mảng hai chiều 3x3

array = [

    [1, 2, 3],

    [4, 5, 6],

    [7, 8, 9]

]

 

# Truy cập phần tử tại hàng 1, cột 2

element = array[1][2] # Giá trị là 6

2. Sử dụng vòng lặp để tạo mảng hai chiều:

# Tạo mảng hai chiều 3x3 với các giá trị ban đầu là 0

rows, cols = 3, 3

array = [[0 for _ in range(cols)] for _ in range(rows)]

Sử dụng mảng hai chiều để biểu diễn đồ thị

Có thể sử dụng mảng hai chiều để biểu diễn một đồ thị. Một trong những cách phổ biến để làm điều này là sử dụng ma trận kề (adjacency matrix).

Ma trận kề

Ma trận kề là một mảng hai chiều dùng để biểu diễn các cạnh của đồ thị. Nếu đồ thị có n đỉnh, thì ma trận kề là một ma trận vuông n x n trong đó phần tử ở hàng i và cột j có giá trị 1 nếu có cạnh nối từ đỉnh i đến đỉnh j, và 0 nếu không có cạnh nối.

Dưới đây là cách khai báo và sử dụng ma trận kề trong Python để biểu diễn đồ thị:

1. Khai báo ma trận kề cho đồ thị vô hướng:

# Số lượng đỉnh

n = 5

# Khai báo ma trận kề n x n với các giá trị ban đầu là 0

graph = [[0 for _ in range(n)] for _ in range(n)]

 

# Thêm cạnh (1, 2) vào đồ thị

graph[1][2] = 1

graph[2][1] = 1

 

# Thêm cạnh (0, 3) vào đồ thị

graph[0][3] = 1

graph[3][0] = 1

2. Khai báo ma trận kề cho đồ thị có hướng:

# Số lượng đỉnh

n = 5

# Khai báo ma trận kề n x n với các giá trị ban đầu là 0

graph = [[0 for _ in range(n)] for _ in range(n)]

# Thêm cạnh có hướng từ 1 đến 2 vào đồ thị

graph[1][2] = 1

# Thêm cạnh có hướng từ 0 đến 3 vào đồ thị

graph[0][3] = 1

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

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). 

   Media VietJackMedia VietJack

Xem đáp án » 01/10/2024 29

Câu 2:

Từ danh sách kề ở Bảng 6. Hãy vẽ đồ thị có hướng tương ứng.

Media VietJack

Xem đáp án » 01/10/2024 26

Câu 3:

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ể.

Xem đáp án » 01/10/2024 26

Câu 4:

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 danh sách kể biểu diễn đồ thị G4 (Hình 4) và G5 (Hình 5).

Media VietJack

Xem đáp án » 01/10/2024 25

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ề.

Media VietJackMedia VietJack

Xem đáp án » 01/10/2024 24

Câu 6:

Em hãy dùng danh sách kề biểu diễn các đồ thị ở Hình 4 và Hình 5.

Media VietJack

Xem đáp án » 01/10/2024 22

Bình luận


Bình luận
Đăng ký gói thi VIP

VIP 1 - Luyện thi tất cả các đề có trên Website trong 1 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 2 - Luyện thi tất cả các đề có trên Website trong 3 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 3 - Luyện thi tất cả các đề có trên Website trong 6 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 4 - Luyện thi tất cả các đề có trên Website trong 12 tháng

  • Siêu tiết kiệm - Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

tailieugiaovien.com.vn