Tải bản đầy đủ (.ppt) (44 trang)

Ngôn ngữ lập trình - Chương 4

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (832.92 KB, 44 trang )

Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
1
CHƯƠNG 4:
KIỂU DỮ LIỆU CÓ CẤU TRÚC

Định nghĩa kiểu dữ liệu có cấu trúc.

Sự đặc tả kiểu dữ liệu có cấu trúc.

Sự cài đặt các cấu trúc dữ liệu.

Vectơ (mảng một chiều).

Mảng nhiều chiều.

Mẩu tin và mẩu tin có cấu trúc thay đổi.

Chuỗi ký tự.

Cấu trúc dữ liệu có kích thước thay đổi (Danh sách, Con
trỏ, Tập hợp, Tập tin).
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
2
ĐỊNH NGHĨA

Kiểu dữ liệu có cấu trúc hay còn gọi là
CTDL là kiểu dữ liệu mà các ÐTDL có cấu
trúc. Như vậy CTDL là một tập các ÐTDL
có cấu trúc và tập các phép toán trên các


ÐTDL đó.

Các CTDL thông dụng: Mảng, chuỗi ký tự,
mẩu tin, ngăn xếp, con trỏ, tập tin...
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
3
SỰ ĐẶC TẢ

Thuộc tính:

Số lượng phần tử.

Kiểu của các phần tử.

Tên của phần tử.

Kích thước tối đa.

Tổ chức phần tử.

Phép toán:

Lựa chọn phần tử.

Phép toán trên toàn cấu trúc.

Thêm/bớt phần tử, tạo/hủy cấu trúc.
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4

4
ĐẶC TẢ THUỘC TÍNH

Số lượng phần tử: Kích thước cố định, kích
thước thay đổi.

Kiểu phần tử: Đồng nhất và không đồng
nhất.

Tên của phần tử: Chỉ số, tên trường.

Kích thước tối đa: Số lượng lớn nhất các
phần tử.

Tổ chức phần tử: Một dãy các phần tử.
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
5
ĐẶC TẢ PHÉP TOÁN

Phép toán lựa chọn một phần tử: Chọn trực
tiếp và chọn tuần tự.

Phép toán trên toàn cấu trúc: Gán.

Thêm / Bớt phần tử: Làm thay đổi kích
thước.

Tạo / Hủy cấu trúc.
Nguyễn Văn Linh - Programmi

ng Languages - Chapter 4
6
SỰ CÀI ĐẶT

Biểu diễn bộ nhớ:

Biểu diễn tuần tự.

Biểu diễn liên kết.

Cài đặp phép toán chọn một phần tử:

Chọn trực tiếp trong biểu diễn tuần tự.

Chọn tuần tự trong biểu diễn tuần tự .

Chọn trực tiếp trong biểu diễn liên kết.

Chọn tuần tự trong biểu diễn liên kết.
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
7
BIỂU DIỄN BỘ NHỚ

Biểu diễn tuần tự

Biểu diễn liên kết
Bộ mô tả
Phần tử
Phần tử

Bộ mô tả
Phần tử
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
8
CÀI ĐẶT PHÉP TOÁN

Chọn trực tiếp trong biểu diễn tuần tự: Vị trí
phần tử = địa chỉ cơ sở + độ dời.

Chọn tuần tự trong biểu diễn tuần tự: Xác
định vị trí phần tử đầu tiên. Vị trí phần tử
tiếp theo = Vị trí phần tử hiện hành + Kích
thước phần tử hiện hành.

Lựa chọn trong biểu diễn liên kết: Duyệt từ
đầu danh sách.
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
9
VÉCTƠ (MẢNG MỘT CHIỀU)

Định nghĩa: Là CTDL có kích thước cố định và
đồng nhất.

Đặc tả:

Số lượng phần tử: Tập chỉ số.

Kiểu của tất cả các phần tử.


Tên phần tử: Chỉ số của phần tử.

Phép tóan lựa chọn một phần tử: Chọn trực tiếp bằng
cách chỉ ra chỉ số của phần tử. Chỉ số là giá trị của biểu
thức.

Phép toán gán.

Ví dụ: V : ARRAY[1..10] OF REAL
10
CÀI ĐẶT VÉCTƠ (1)

Tổ chức lưu trữ: Biểu diễn tuần tự.
Véc t Aơ
LB
UB
Ki u ph n tể ầ ử
E
A[ LB]
A[UB]
Đ a ch c sị ỉ ơ ở
B mô tộ ả
Các ph n tầ ử
Ki u d li uể ữ ệ
C n d i t p ch sậ ướ ậ ỉ ố
C n trên t p ch sậ ậ ỉ ố
Kích th c m i PTướ ỗ
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4

11
CÀI ĐẶT VÉCTƠ (2)

Phép toán lựa chọn 1 phần tử:
Vị trí phần tử thứ i = α + D + (i – LB)* E

α là địa chỉ cơ sở.

D là kích thước bộ mô tả.

Phép toán gán: Copy khối ô nhớ.
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
12
MẢNG NHIỀU CHIỀU

Đặc tả: Mỗi chiều có một tập chỉ số.

Cài đặt: Biểu diễn bộ nhớ tuần tự, các phần
tử được lưu trũ kế tiếp nhau, nhưng có 2
cách lưu:

Các phần tử được lưu theo trật tự dòng: Hết
dòng này đến dòng khác.

Các phần tử được lưu theo trật tự cột: Hết cột
này đến cột khác.
13
BIỂU DIỄN MA TRẬN
M[1..3,-1..2] OF INTEGER

C n trên t p ch s 1ậ ậ ỉ ố
C n d i t p ch s 2ậ ướ ậ ỉ ố
C n trên t p ch s 2ậ ậ ỉ ố
Ma trận M
LB1 (=1)
UB1 (=3)
LB2 (=-1)
UB2 (=2)
M[1,-1]
M[1,0]
M[1,1]
M[1,2]
M[3,2]
Đ a ch c sị ỉ ơ ở
B mô tộ ả
Các ph n tầ ử
Ki u d li uể ữ ệ
C n d i t p ch s 1ậ ướ ậ ỉ ố
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
14
CHỌN MỘT PHẦN TỬ CỦA
MA TRẬN

Vị trí của phần tử M[i,j] được tính theo
công thức:
Vị trí M[i,j] = α + D + (i-LB1)*S + (j-
LB2)*E

α là địa chỉ cơ sở.


D là kích thước bộ mô tả.

S là kích thước 1 dòng = (UB2-LB2+1)*E.

E là kích thước một phần tử.
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
15
MẨU TIN

Định nghĩa: Là CTDL có
kích thước cố định và
không đồng nhất.

Đặc tả:

Số lượng phần tử (trường).

Tên của mỗi phần tử.

Kiểu của mỗi phần tử.

Phép toán chọn phần tử: Sử
dụng tên PT.

Phép gán.

Ví dụ:
Nhan_vien: Record

Ma: Integer;
Ho_ten: string[25];
Tuoi: Integer;
Luong: Real;
End.
16
CÀI ĐẶT MẨU TIN

Bộ nhớ tuần tự:
Một khối ô nhớ liên
tục để lưu trữ cả mẩu
tin. Mỗi trường được
lưu trong một khối.
Mỗi khối có thể có bộ
mô tả riêng.

Ví dụ: Nhan_vien
22901
Nguy n Văn Aễ
20
2.18

Vị trí phần tử = α + Tổng kích thước các phần
tử trước đó.

Ví dụ: Vị trí Tuoi = α + Kích thước Ma + Kích
thước Ho_ten
Ma
Ho_ten
Tuoi

Luong
Nguyễn Văn Linh - Programmi
ng Languages - Chapter 4
17
MẨU TIN CÓ CẤU TRÚC
THAY ĐỔI

Bài toán.

Định nghĩa.

Cài đặt.

×