CHƯƠNG 4: KIỂU DỮ LIỆU CÓ CẤU TRÚC
lượt xem 92
download
Nội dung chương 4 gồm: Đị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).
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: CHƯƠNG 4: KIỂU DỮ LIỆU CÓ CẤU TRÚC
- 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 - Programming Languages - Chapter 4 1
- ̣ ̃ ĐINH NGHIA 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 - Programming Languages - Chapter 4 2
- 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 - Programming Languages - Chapter 4 3
- ĐẶ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 - Programming Languages - Chapter 4 4
- ĐẶ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 - Programming Languages - Chapter 4 5
- 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 - Programming Languages - Chapter 4 6
- BIỂU DIỄN BỘ NHỚ Biểu diễn tuần tự Biểu diễn liên kết Bộ mô tả Bộ mô tả Phần tử Phần tử Phần tử Nguyễn Văn Linh - Programming Languages - Chapter 4 7
- 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 - Programming Languages - Chapter 4 8
- 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 Nguyễn Văn Linh - Programming Languages - Chapter 4 9
- CÀI ĐẶT VÉCTƠ (1) Tổ chức lưu trữ: Biểu diễn tuần tự. Địa chỉ cơ sở Véc tơ A Kiểu dữ liệu LB Cận dưới tập chỉ Bộ mô tả UB số Cận trên tập chỉ Kiểu phần tử số E Kích thước mỗi PT A[ LB] Các phần tử A[UB] 10
- 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 - Programming Languages - Chapter 4 11
- 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. Nguyễn Văn Linh - Programming Languages - Chapter 4 12
- BIỂU DIỄN MA TRẬN M[1..3,-1..2] OF INTEGER Địa chỉ cơ sở Ma trận M Kiểu dữ liệu LB1 (=1) Cận dưới tập chỉ số Bộ mô tả UB1 (=3) 1 Cận trên tập chỉ số LB2 (=-1) 1 Cận dưới tập chỉ số UB2 (=2) 2 Cận trên tập chỉ số M[1,-1] 2 Các phần tử M[1,0] M[1,1] M[1,2] M[3,2] 13
- 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 - Programming Languages - Chapter 4 14
- MẨU TIN Định nghĩa: Là CTDL có Ví dụ: kích thước cố định và không đồng nhất. Nhan_vien: Record Đặc tả: Ma: Integer; Số lượng phần tử Ho_ten: string[25]; (trường). Tên của mỗi phần tử. Tuoi: Integer; Kiểu của mỗi phần tử. Luong: Real; Phép toán chọn phần tử: Sử dụng tên PT. End. Phép gán. Nguyễn Văn Linh - Programming Languages - Chapter 4 15
- CÀI ĐẶT MẨU TIN Bộ nhớ tuần tự: Ví dụ: Nhan_vien Một khối ô nhớ liên tục để lưu trữ cả 22901 Ma mẩu tin. Mỗi trường Nguyễn Văn A Ho_ten được lưu trong một 20 Tuoi khối. Mỗi khối có thể 2.18 Luong có bộ mô tả riêng. 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 16
- MẨU TIN CÓ CẤU TRÚC THAY ĐỔI Bài toán. Định nghĩa. Cài đặt. Nguyễn Văn Linh - Programming Languages - Chapter 4 17
- MẨU TIN CÓ CẤU TRÚC THAY ĐỔI (BÀI TOÁN) Ví dụ: Một xí nghiệp có hai loại công nhân: Biên chế và hợp đồng. Lương công nhân biên chế = Số ngày công * múc lương tối thiểu * Hệ số /20. Những ngày nghỉ bảo hiểm xã hội, họ được trả lương bảo hiểm. Lương công nhân hợp đồng = Số ngày công * đơn giá công nhật. Nguyễn Văn Linh - Programming Languages - Chapter 4 18
- ĐỊNH NGHĨA MẨU TIN CÓ CẤU TRÚC THAY ĐỔI Mỗi mẩu tin bao gồm hai phần: Phần tĩnh và phần động. Phần tĩnh gồm các trường mà tất cả các thể hiện đều có. Phần động sẽ có các trường khác nhau tùy theo từng thể hiện. Trong phần tĩnh phải có một trường dùng để phân biệt các thể hiện. Phép toán lựa chọn một phần tử tương tự như mẩu tin bình thường. Nguyễn Văn Linh - Programming Languages - Chapter 4 19
- VÍ DỤ TYPE Loai_Cong_Nhan = (bien_che,hop_dong); VAR Cong_Nhan : RECORD Ho_Ten: String[20]; Ngay_Cong: Real; Luong: Real; CASE loai: Loai_Cong_Nhan OF bien_che: (He_So: Real; Nghi_bhxh:Real); hop_dong: (Gia_Cong_Nhat: Real); END; 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
LTHDT Bài 02. Cú pháp Java cơ bản
50 p | 183 | 45
-
Tin học đại cương - Phần 2 Ngôn ngữ lập trình TURBO PASCAL - Chương 4
15 p | 150 | 40
-
Bài tập Lập trình python: Phần 1
91 p | 39 | 27
-
Giáo trình Lập trình nâng cao (Trên ngôn ngữ Pascal) - ĐH Nông Nghiệp I - Hà Nội
207 p | 65 | 13
-
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 1
190 p | 49 | 11
-
Giáo trình Cấu trúc dữ liệu và thuật toán: Phần 1 (In năm 2013)
189 p | 12 | 8
-
Bài giảng Lập trình căn bản: Chương 4 - ThS. Nguyễn Cao Trí
21 p | 103 | 8
-
Bài giảng Cấu trúc dữ liệu: Chương 4 - TS. Trần Cao Đệ
0 p | 94 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Chương 4 - Nguyễn Thị Mỹ Dung
47 p | 44 | 5
-
Cấu trúc dữ liệu & thuật toán: Phần 1
170 p | 18 | 5
-
Bài giảng Lập trình hướng đối tượng (Object-Oriented Programming): Phần 1 - GV. Ngô Công Thắng
62 p | 11 | 5
-
Bài giảng Cấu trúc dữ liệu - ĐH Hàng Hải VN
80 p | 26 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 4 - Trần Minh Thái
36 p | 51 | 4
-
Bài giảng Kỹ thuật lập trình - Chương 4: Các kiểu dữ liệu có cấu trúc
45 p | 31 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - Nguyễn Thị Mỹ Dung
47 p | 25 | 3
-
Bài giảng Ngôn ngữ lập trình - Chương 4: Kiểu dữ liệu có cấu trúc
45 p | 57 | 3
-
Giáo trình Kỹ thuật ngôn ngữ lập trình (Ngành: Điện tử công nghiệp - Trình độ Cao đẳng) - Trường Cao đẳng Hòa Bình Xuân Lộc
42 p | 2 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn