Download miễn phí Bài giảng Kiểu dữ liệu có cấu trúc





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.
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

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). ĐỊ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... 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. ĐẶ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ử. ĐẶ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. 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. BIỂU DIỄN BỘ NHỚ Biểu diễn tuần tự Biểu diễn liên kết 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. 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 CÀI ĐẶT VÉCTƠ (1) Tổ chức lưu trữ: Biểu diễn tuần tự. 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ớ. 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. BIỂU DIỄN MA TRẬN M[1..3,-1..2] OF INTEGER 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ử. 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. 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 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 MẨU TIN CÓ CẤU TRÚC THAY ĐỔI Bài toán. Định nghĩa. Cài đặt. 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. ĐỊ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. 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; CÀI ĐẶT MẨU TIN CÓ CẤU TRÚC THAY ĐỔI Ho_Ten Ngay_Cong Luong Loai Gia_Cong_nhat Không sử dụng Ho_Ten Ngay_Cong Luong Loai He_So Nghi_BHXH CHUỖI KÝ TỰ Đặc tả thuộc tính. Đặc tả phép tóan. Cài đặt chuỗi ký tự. ĐẶC TẢ THUỘC TÍNH CHUỖI KÝ TỰ Đặc tả thuộc tính: Có ba phương pháp: Độ dài khai báo cố định. Độ dài thay đổi trong một giới hạn đã được khai báo. Độ dài không giới hạn. ĐẶC TẢ PHÉP TOÁN CHUỖI KÝ TỰ Đặc tả phép toán: Phép ghép chuỗi. Các phép toán quan hệ. Lấy chuỗi con của một chuỗi bằng cách chỉ ra ký tự đầu tiên và ký tự cuối cùng. Định dạng nhập - xuất. Chọn chuỗi con bằng cách so mẫu. CÀI ĐẶT CHUỖI KÝ TỰ (1) Độ dài khai báo cố định: Sử dụng một véctơ của các ký tự để lưu trữ một chuỗi Ví dụ chuỗi được khai báo có độ dài 12 nhưng chuỗi thực là “EINSTEIN”. Thì phải thêm vào 4 ký tự trắng để có độ dài 12. 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à có 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 có độ dài 12 nhưng chuỗi thực là “EINSTEIN”. Sẽ có 4 ô không sử dụng. CÀI ĐẶT CHUỖI KÝ TỰ (3) Độ dài không cố định: Sử dụng biểu diễn liên kết có 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”. CẤU TRÚC DỮ LIỆU CÓ KÍCH THƯỚC THAY ĐỔI Định nghĩa: Là CTDL có 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. CON TRỎ Cấp phát tĩnh, cấp phát động và con trỏ. Đặc tả. Ví dụ. Cài đặt. CON TRỎ (Cấp phát ...) Cấp phát tĩnh: Trong khi dịch. Nhờ khai báo biến, bộ dịch sẽ dành sẵn ô nhớ đủ để lưu trữ. Tự động giải phóng. Sử dụng nhờ tên biến Không tối ưu. 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 có biến con trỏ để lưu trữ địa chỉ. ĐẶC TẢ CON TRỎ Con trỏ tham chiếu đến các ĐTDL có kiểu cụ thể. Con trỏ tham chiếu đến các ĐTDL có 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 động. Phép toán giải phóng ô nhớ. VÍ DỤ VỀ CON TRỎ (1) Con trỏ tham chiếu đến các ĐTDL có kiểu cụ ...
 

Các chủ đề có liên quan khác

Top