
Bài giảng 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
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng 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 1 BÀI GIẢNG MÔN: CẤU TRÚC DỮ LIỆU 2 Chương 1: TỔNG QUAN VỀ CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 3 NỘI DUNG CHƯƠNG 1 1.1. Tầm quan trọng của cấu trúc dữ liệu trong một đề án tin 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 • Kiểu dữ liệu con trỏ • Kiểu tập tin 4 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ấu trúc dữ 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. 5 1.1. Tầm quan trọng của CTDL & giải thuật * Mối quan hệ giữa cấu trúc dữ liệu và giải thuật Cấu trúc dữ liệu + Giải thuật = Chương trình • Khi có cấu trúc dữ 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úc dữ liệu và giải thuật. 6 1.2. Các tiêu chuẩn đánh giá CTDL Một cấu trúc dữ 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ớ. 7 1.2. Các tiêu chuẩn đánh giá CTDL Đá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: Tmin • Trường hợp xấu nhất: Tmax • Với Tmin và Tmax thời gian thực hiện trung bình của thuật toán Tavg 8 1.3. Các kiểu dữ liệu • 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ấu trúc • Kiểu dữ liệu con trỏ • Kiểu tập tin 9 1.3. Các kiểu dữ liệu Định nghĩa kiểu dữ liệu Kiểu dữ liệu T được xác định bởi một bộ , 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ới : Vc={a-z,A-Z} Oc={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 10 1.3. Các kiểu dữ liệu 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 11 1.3 Các kiểu dữ liệu 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ý 12 1.3. Các kiểu dữ liệu Các kiểu dữ liệu có cấu trúc Kiểu chuỗi ký tự: là kiểu dữ liệu có cấu trú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”; 13 1.3. Các kiểu dữ liệu Các kiểu dữ liệu có cấu trú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ấu trú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 : [] []….; 14 1.3. Các kiểu dữ liệu Các kiểu dữ liệu có cấu trúc (tt) Kiểu mẫu tin: Kiểu mẫu tin 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ấu trúc. Kiểu mẫu tin thường được dùng để mô tả những đối tượng có cấu trúc phức tạp. Ví dụ : struct PERSON { char Hoten[]; int NamSinh; char NoiSinh[]; char GioiTinh; // 0:Nữ, 1: Nam char DiaChi[]; } 15 1.3. Các kiểu dữ liệu 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ử có kiểu T được định nghĩa như sau: Tp = Trong đó: Tp = {{các địa chỉ có thể lưu trữ những đối tượng kiểu T}, NULL} Op = {các tha ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Tổng quan cấu trúc dữ liệu Đề án tin học Các kiểu dữ liệu Đánh giá cấu trúc dữ liệu Kiểu dữ liệu con trỏTài liệu có liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 357 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 186 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 175 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Trần Hạnh Nhi
123 trang 165 0 0 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 147 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 145 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 143 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 108 0 0 -
138 trang 105 0 0
-
Ứng dụng và cài đặt cấu trúc dữ liệu bằng C: Phần 1
338 trang 101 0 0 -
49 trang 86 0 0
-
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Hoàng Mạnh Hà
67 trang 73 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Phần 1 - ThS. Hoàng Thế Phương
128 trang 72 0 0 -
54 trang 72 0 0
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Ngô Công Thắng
8 trang 71 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Lê Văn Vinh
67 trang 66 1 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - ThS. Trịnh Quốc Sơn (ĐH Công nghệ Thông tin)
20 trang 56 0 0 -
Giáo trình CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT - Chương 1
5 trang 55 0 0 -
Cấu trúc dữ liệu và Ngôn ngữ lập trình C
261 trang 49 0 0 -
Đề kiểm tra giữa học kì 1, môn : Cấu trúc dữ liệu và giải thuật
3 trang 47 1 0