Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
75,5 KB
Nội dung
1 Môn: CẤU TRÚCDỮLIỆUChương 1: TỔNG QUAN VỀ CẤU TRÚCDỮLIỆU VÀ GIẢI THUẬT 2 NỘI DUNG CHƯƠNG1 1.1 Tầm quan trọng của cấutrúcdữliệu trong một đề án tin học 1.2 Các tiêu chuẩn đánh giá cấutrúcdữliệu 1.3 Các kiểu dữliệu Khái niệm kiểu dữliệu Các kiểu dữliệu cơ sở Các kiểu dữliệu có cấutrúc Kiểu dữliệu con trỏ Kiểu tập tin BÀI TẬP 3 1.1 Tầm quan trọng của CTDL & giải thuật Thực hiện một đề án tin học là chuyển bài toán thực tế thành bài toán có thể giải quyết trên máy tính. Một bài toán thực tế bất kỳ đều bao gồm dữliệu và các yêu cầu xử lý trên dữliệu đó để xây dựng một mô hình tin học phản ánh được bài toán thực tế cần chú trọng đến hai vấn đề: Tổ chức biểu diễn các đối tượng thực tế: Mô hình tin học của bài toán, cần phải tổ chức sao cho vừa phản ánh chính xác dữliệu thực tế, vừa dễ dàng dùng máy tính để xử lý. xây dựng cấutrúcdữ liệu. Xây dựng các thao tác xử lý dữliệu : Từ những yêu cầu thực tế, cần tìm ra các giải thuật tương ứng để xác định trình tự các thao tác máy tính phải thi hành để cho ra kết quả mong muốn đây là bước xây dựng giải thuật cho bài toán. 4 1.1 Tầm quan trọng của CTDL & giải thuật * Mối quan hệ giữa cấu trúcdữliệu và giải thuật Cấutrúcdữliệu + Giải thuật = Chương trình Khi có cấutrúcdữliệu tốt và giải thuật phù hợp thì xây dựng chương trình chỉ phụ thuộc thời gian. Một chương trình máy tính chỉ hoàn thiện khi có đầy đủ cấu trúcdữliệu và giải thuật. 5 1.2 Các tiêu chuẩn đánh giá CTDL Một cấutrúcdữliệu tốt phải thỏa mãn: Phản ánh đúng thực tế: Cần xem xét kỹ lưỡng cũng như dự trù các trạng thái biến đổi của dữliệu trong chu trình sống để có thể chọn CTDL lưu trữ thể hiện chính xác đối tượng thực tế. Phù hợp với các thao tác trên đó: Tăng tính hiệu quả của đề án, việc phát triển các thuật toán đơn giản, tự nhiên hơn => chương trình đạt hiệu quả cao hơn về tốc độ xử lý. Tiết kiệm tài nguyên hệ thống: CTDL chỉ nên sử dụng tài nguyên hệ thống vừa đủ để đảm nhiệm được chức năng của nó. Loại tài nguyên cần quan tâm là : CPU và bộ nhớ. 6 1.2 Các tiêu chuẩn đánh giá CTDL (tt) Đánh giá độ phức tạp của thuật toán Là công việc ước lượng thời gian thực hiện của thuật toán để so sánh tương đối các thuật toán với nhau Trong thực tế, thời gian thực hiện còn phụ thuộc cấu hình máy, dữliệu đưa vào, … Để ước lượng thời gian thực hiện thuật toán xem xét 2 trường hợp Trường hợp tốt nhất: T min Trường hợp xấu nhất: T max Với T min và T max thời gian thực hiện trung bình của thuật toán T avg 7 1.3 Các kiểu dữliệu (tt) Máy tính chỉ có thể lưu trữ dữliệu ở dạng nhị phân. Nếu muốn phản ánh được dữliệu đa dạng, thì cần phải xây dựng những phép ánh xạ, những qui tắc tổ chức phức tạp che lên tầng dữliệu nhị phân thô sơ. Nhằm đưa ra những khái niệm logic về hình thức lưu trữ khác nhau đựoc gọi là kiêu dữ liệu. Các kiểu dữliệu cơ sở Các kiểu dữliệu có cấutrúc Kiểu dữliệu con trỏ Kiểu tập tin 8 1.3 Các kiểu dữliệu (tt) Định nghĩa kiểu dữliệu Kiểu dữliệu T được xác định bởi một bộ <V,O>, với: V: tập các giá trị hợp lệ mà một đối tượng kiểu T có thể lưu trữ. O: Tập các thao tác xử lý có thể thi hành trên đối tượng kiểu T. Ví dụ : Giả sử có kiểu dữliệu mẫu tự=<V c ,O c > với : V c ={a-z,A-Z} O c ={Lấy mã ASCII của ký tự, đổi ký tự thành ký tự hoa} Dữliệu lưu trữ chiếm số bytes trong bộ nhớ gọi là kích thước của kiểu dữliệu 9 1.3 Các kiểu dữliệu (tt) Các thuộc tính của một kiểu dữliệu Tên kiểu dữliệu Miền giá trị của dữliệu Kích thước dữliệu Tập các toán tử tác động lên kiểu dữliệu 10 1.3 Các kiểu dữliệu (tt) Các kiểu dữliệu cơ sở Kiểu số nguyên Kiểu số thực Kiểu ký tự Kiểu luận lý [...]... liệu (tt) Các kiểu dữliệu có cấutrúc (tt) Kiểu mảng: là kiểu dữliệu trong đó mỗi phần tử của nó là một tập hợp có thứ tự các giá trị có cùng cấutrúc được lưu trữ liên tiếp nhau trong bộ nhớ Mảng một chiều : []; Mảng nhiều chiều : [ ] []….; 12 1. 3 Các kiểu dữliệu (tt) Các kiểu dữliệu có cấutrúc (tt) Kiểu mẫu.. .1. 3 Các kiểu dữliệu (tt) Các kiểu dữliệu có cấutrúc Kiểu chuỗi ký tự: là kiểu dữliệu có cấutrúc đơn giản nhất và thường các ngôn ngữ lập trình đều dịnh nghĩa nó như một kiểu cơ bản Trong C các hàm xử lý chuỗi được đặt trong thư viện string.lib VD: char S [10 ] ;// chuỗi ký tự S có chiều dài tối đa là 10 (kể cả ký tự kết thúc) char S[] = ”ABCDEF” ; char *S = “ABCDEF”; 11 1. 3 Các kiểu dữ liệu. .. phụ thuộc không gian đĩa Việc đọc, ghi dữliệu trên tập tin là mất thời gian, không an toàn dữliệu Thông thường chuyển dữliệu trong tập tin (một phần hay toàn bộ) vào bộ nhớ trong để xử lý 16 Bài tập Xem lại việc sử dụng con trỏ trong C++ Xem lại các thao tác với tập tin Xem lai việc sử dụng kiểu dữliệu mẫu tin Bài tập trong giáo trình chương 1 17 ... cũng tương tự như mảng nhưng mỗi phần tử của nó là tập hợp các giá trị có thể khác cấutrúc Kiểu mẫu tin thường được dùng để mô tả những đối tượng có cấutrúc phức tạp Ví dụ : struct PERSON { char Hoten[]; int NamSinh; char NoiSinh[]; char GioiTinh; char DiaChi[]; } // 0:Nữ, 1: Nam 13 1. 3 Các kiểu dữliệu (tt) Kiểu dữliệu con trỏ Cho trước kiểu T = Kiểu con trỏ ký hiệu Tp chỉ đến các phần tử... nghĩa dữliệu kiểu con trỏ typedef * ; Các thao tác cơ bản trên kiểu con trỏ: Khi một biến con trỏ ‘p’ lưu trữ địa chỉ của đối tượng x ta nói “p trỏ đến x” Gán địa chỉ của một vùng nhớ con trỏ p: p = ; p = + Truy xuất (xem) nội dung của đối tượng p trỏ đến (*p) 15 1. 3 Các kiểu dữliệu (tt) Kiểu dữliệu tập tin Tập tin là kiểu dữ liệu. .. chỉ của một đối tượng kiểu T khi biết con trỏ chỉ đến đối tượng đó} Kiểu con trỏ là kiểu dữliệu cơ sở dùng lưu địa chỉ của một đối tượng dữliệu khác Biến thuộc kiểu con trỏ Tp là biến mà giá trị của nó là địa chỉ của một vùng nhớ ứng với một biến kiểu T, hoặc là giá trị NULL 14 1. 3 Các kiểu dữliệu (tt) Kiểu dữliệu con trỏ (tt) Kích thước biến con trỏ tùy thuộc vào quy ước số byte trong từng mô . 1 Môn: CẤU TRÚC DỮ LIỆU Chương 1: TỔNG QUAN VỀ CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 2 NỘI DUNG CHƯƠNG 1 1 .1 Tầm quan trọng của cấu trúc dữ liệu trong. học 1. 2 Các tiêu chuẩn đánh giá cấu trúc dữ liệu 1. 3 Các kiểu dữ liệu Khái niệm kiểu dữ liệu Các kiểu dữ liệu cơ sở Các kiểu dữ liệu có cấu trúc