1. Trang chủ
  2. » Công Nghệ Thông Tin

CHƯƠNG 4: KIỂU DỮ LIỆU CÓ CẤU TRÚC doc

44 844 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 146 KB

Nội dung

Nguyễn Văn Linh - Programm ing Languages - Chapter 4 1 CHƯƠNG 4: KIỂU DỮ LIỆU CẤU TRÚC  Định nghĩa kiểu dữ liệu cấu trúc.  Sự đặc tả kiểu dữ liệu 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ấu trúc thay đổi.  Chuỗi ký tự.  Cấu trúc dữ liệu kích thước thay đổi (Danh sách, Con trỏ, Tập hợp, Tập tin). Nguyễn Văn Linh - Programm ing Languages - Chapter 4 2 ĐNH NGHA  Kiểu dữ liệu cấu trúc hay còn gọi là CTDL là kiểu dữ liệu mà các ÐTDL cấu trúc. Như vậy CTDL là một tập các ÐTDL 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 - Programm ing 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 - Programm ing 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 - Programm ing 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 - Programm ing 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 - Programm ing 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 - Programm ing 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ỉ 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 - Programm ing Languages - Chapter 4 9 VÉCTƠ (MẢNG MỘT CHIỀU)  Định nghĩa: Là CTDL 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ướ ỗ [...]... KÝ TỰ (3)  Độ dài không cố định: Sử dụng biểu diễn liên kết bộ mô tả lưu trữ độ dài thực của chuỗi  Ví dụ chuỗi cần lưu trữ là “EINSTEIN” 8 E I N S T E Nguyễn Văn Linh - Programm I N 27 CẤU TRÚC DỮ LIỆU KÍCH THƯỚC THAY ĐỔI  Định nghĩa: Là CTDL số phần tử thay đổi một cách động trong quá trình thực hiện chương trình  Một số cấu trúc điển hình:  Danh sách  Ngăn xếp  Hàng đợi Nguyễn Văn... một khối Mỗi khối thể bộ mô tả riêng  Ví dụ: Nhan_vien 22901 Nguyễn Văn A 20 2.18 Ma Ho_ten Tuoi Luong 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ẤU TRÚC THAY ĐỔI  Bài toán  Định nghĩa  Cài đặt Nguyễn Văn Linh - Programm 17 MẨU TIN CẤU TRÚC THAY ĐỔI (BÀI TOÁN)  Ví dụ: Một xí nghiệp hai loại công... hợp đồng = Số ngày công * đơn giá công nhật Nguyễn Văn Linh - Programm 18 ĐỊNH NGHĨA MẨU TIN 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  Phần động sẽ các trường khác nhau tùy theo từng thể hiện  Trong phần tĩnh phải 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... được khai báo độ dài 12 nhưng chuỗi thực là “EINSTEIN” Thì phải thêm vào 4 ký tự trắng để độ dài 12 E I N S T E I N Nguyễn Văn Linh - Programm 25 CÀI ĐẶT CHUỖI KÝ TỰ (2)  Độ dài thay đổi trong giới hạn đã khai báo: Sử dụng một véctơ để lưu trữ một chuỗi và bộ mô tả lưu cả độ dài được khai báo và độ dài thực  Ví dụ chuỗi được khai báo độ dài 12 nhưng chuỗi thực là “EINSTEIN” Sẽ 4 ô không... Cấp phát động:  Trong khi thực hiện  Người lập trình chủ động cấp phát và giải phóng  Sử dụng thông qua địa chỉ  Cần biến con trỏ để lưu trữ địa chỉ Nguyễn Văn Linh - Programm 30 ĐẶC TẢ CON TRỎ Con trỏ tham chiếu đến các ĐTDL kiểu cụ thể  Con trỏ tham chiếu đến các ĐTDL kiểu bất kỳ  Phép toán cấp phát ô nhớ động và trả địa chỉ về cho con trỏ  Phép toán truy xuất tới ĐTDL được cấp phát... hop_dong: (Gia_Cong_Nhat: Real); END; 20 CÀI ĐẶT MẨU TIN CẤU TRÚC THAY ĐỔI Ho_Ten Ngay_Cong Luong Loai Ho_Ten Ngay_Cong Luong Loai He_So Gia_Cong_nhat Nghi_BHXH Không sử dụng Nguyễn Văn Linh - Programm 21 CHUỖI KÝ TỰ  Đặc tả thuộc tính  Đặc tả phép tóan  Cài đặt chuỗi ký tự Nguyễn Văn Linh - Programm 22 ĐẶC TẢ THUỘC TÍNH CHUỖI KÝ TỰ  Đặc tả thuộc tính: ba phương pháp:  Độ dài khai báo cố định  Độ... đến các ĐTDL kiểu cụ thể Type Sinh_vien = Record Ho_ten : String[25]; Tuoi : Byte; End; Var p : ^Sinh_vien; q : ^Integer; Nguyễn Văn Linh - Programm 32 VÍ DỤ VỀ CON TRỎ (2) Begin New(p); p^.Ho_ten:= ‘Nguyen Van A’; p^.tuoi := 20; Writeln(p^.Ho_ten, ‘ ‘, p^.tuoi); Dispose(p); New(q); q^ := 3547; End Nguyễn Văn Linh - Programm 33 VÍ DỤ VỀ CON TRỎ (3) Con trỏ tham chiếu đến các ĐTDL kiểu bất kỳ Type... cột khác Nguyễn Văn Linh - Programm 12 BIỂU DIỄN MA TRẬN M[1 3,-1 2] OF INTEGER Địa chỉ sở Bộ mô tả Các phần tử 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] Kiểu dữ liệu Cận dưới tập chỉ số 1 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 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] = α... 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 - Programm 14 MẨU TIN   Định nghĩa: Là CTDL 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:... LB)* E α là địa chỉ 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 - Programm 11 MẢNG NHIỀU CHIỀU  Đặc tả: Mỗi chiều 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 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 . Programm ing 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. 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. 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 - Programm ing Languages - Chapter 4 2 ĐNH NGHA  Kiểu

Ngày đăng: 01/07/2014, 21:20

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w