Bài học cùng chủ đề
Báo cáo học liệu
Mua học liệu
Mua học liệu:
-
Số dư ví của bạn: 0 coin - 0 Xu
-
Nếu mua học liệu này bạn sẽ bị trừ: 2 coin\Xu
Để nhận Coin\Xu, bạn có thể:
Dữ liệu mảng 2 chiều SVIP
1. Cấu trúc dữ liệu mảng một chiều
Mảng một chiều là cấu trúc dữ liệu bao gồm một dãy các phần tử dữ liệu cùng kiểu được sắp xếp liền kề nhau, mỗi một phần tử được gán một chỉ số theo thứ tự, truy cập đến giá trị của phần tử thông qua chỉ số của phần tử.
Kiểu dữ liệu mảng có một số thao tác như:
- Khởi tạo mảng (tạo một mảng có số n ô trống dữ liệu).
- Xóa một phần tử (xóa ở vị trí cố định hoặc bất kì).
- Thêm một phần tử (thêm ở vị trí cố định hoặc bất kì).
- Duyệt mảng (hiển thị toàn bộ giá trị của các phần tử trong mảng).
Lưu ý:
- Vị trí theo chỉ số bắt đầu từ 0, vị trí của phần tử trong mảng bắt đầu từ 1.
- Số lượng ô trống dữ liệu trong mảng phụ thuộc vào khai báo của người lập trình và không tự động mở rộng thêm ô trống dữ liệu.
- Không đồng nhất khái niệm mảng và danh sách (list) trong Python, nhưng có thể sử dụng kiểu danh sách để biểu diễn kiểu mảng.
❓ Ví dụ 1:
Cho dãy số A = {5, 10, 3, 8, 9}, hãy thực hiện các yêu cầu sau:
a) Biểu diễn dãy A dưới dạng mảng một chiều.
b) Nêu cú pháp truy cập đến một giá trị bất kì có trong mảng.
Giải
a) Dựa vào Hình 1, ta có thể biểu diễn mảng A dưới dạng mảng một chiều như sau.
b) Cú pháp truy xuất: Phần tử có giá trị là 5 trong mảng A có vị trí theo chỉ số là 0.
❓ Ví dụ 2:
Cho dãy số A = {2, 10, 3, 2, 4}, hãy thực hiện các yêu cầu sau:
a) Khai báo dãy số dưới dạng mảng bằng kiểu danh sách.
b) Hiển thị giá trị của phần tử có chỉ số là 3.
c) Hiển thị giá trị của phần tử thứ 2.
Giải
a) Khai báo bằng kiểu danh sách: a = [2, 10, 3, 2, 4]
b) Chỉ số theo mảng là 3, ta có: print(a[3])
.
c) Phần tử thứ 2 của mảng có chỉ số là 1, ta có: print(a[1])
.
2. Cấu trúc dữ liệu mảng hai chiều
a. Mô hình cấu trúc mảng hai chiều
Cấu trúc dữ liệu mảng hai chiều được hiểu là một bảng hay còn gọi là ma trận, bao gồm các hàng và cột dữ liệu. Một số ví dụ về cấu trúc dữ liệu dạng bảng như bảng tính của phần mềm bản tính, bàn cờ vua,...
Xét ma trận A có kích thước \(3\times3\) (ma trận vuông bậc 3), khi mô tả tổng quát ta thu được một ma trận bậc \(m\times n\) (ma trận vuông khi \(m=n\)).
Xác định vị trí của một phần tử trong mảng hai chiều thông qua hai chỉ số là i (chỉ số hàng) và j (chỉ số cột).
❓ Ví dụ:
Cho ma trận \(A=\)\(\begin{matrix}12&6&5&8\\6&7&1&11\\2&0&2&9\\3&5&4&4\end{matrix}\), hãy thực hiện các yêu cầu sau:
a) Xác định giá trị của các phần tử \(A_{1,3}\), \(A_{2,3}\).
b) Xác định các vị trí của phần tử có giá trị là 6.
Giải
a) Giá trị của các phần tử \(A_{1,3}=5\), \(A_{2,3}=1\).
b) Các vị trí của phần tử có giá trị là 6 gồm: \(A_{2,2}\), \(A_{2,1}\).
b. Mảng hai chiều trong Python
Tạo và truy xuất mảng 2 chiều trong Python
Khai báo một danh sách A có n phần tử, coi mỗi phần tử của danh sách A chứa một danh sách Ai (i là chỉ số phần tử của A) có m phần tử. Vị trí theo chỉ số của A là chỉ số hàng, vị trí theo chỉ số của Ai là chỉ số cột.
Truy xuất phần tử trong mảng hai chiều bằng cú pháp: tên_mảng[chỉ_số_hàng][chỉ_số_cột].
Lưu ý:
- Vị trí bắt đầu của phần tử trong ma trận từ số 1 và vị trí bắt đầu của phần tử trong mảng được biểu diễn bằng danh sách trong Python từ số 0.
- Mảng hai chiều có các tính chất của mảng một chiều.
❓ Ví dụ:
Cho ma trận \(A=\)\(\begin{matrix}3&12\\10&8\\3&9\end{matrix}\), hãy thực hiện các yêu cầu sau:
a) Khởi tạo mảng hai chiều trong Python.
b) Viết cú pháp truy xuất trong Python các phần tử có giá trị bằng 3.
c) Xác định cú pháp truy xuất trong Python của phần tử có vị trí \(A_{1,2}\) trong ma trận.
Giải
a) Khởi tạo bằng Python: A = [[3, 12], [10, 8], [3, 9]]
.
b) Cú pháp truy xuất: A[0][0], A[2][2]
.
c) Phần tử có vị trí \(A_{1,2}\): A[0][1]
.
Duyệt mảng 2 chiều
Sử dụng hai vòng lặp lồng nhau: vòng lặp i dùng để duyệt danh sách A, vòng lặp j dùng để duyệt danh sách Ai.
Tổng kết kiến thức
1. Mảng một chiều là cấu trúc dữ liệu tuyến tính có kích thước cố định được sử dụng phổ biến.
2. Không đồng nhất khái niệm mảng và danh sách trong Python.
3. Mảng hai chiều là một bảng hay ma trận gồm các hàng và cột. Mỗi phần tử được xác định bởi chỉ số hàng và chỉ số cột.
4. Mảng hai chiều trong Python được biểu diễn bằng danh sách nằm trong danh sách.
5. Truy vấn mảng hai chiều trong Python:
tên_mảng[chỉ_số_hàng][chỉ_số_cột].
Bạn có thể đánh giá bài học này ở đây