Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Đỗ Bích Diệp
Số trang: 21
Loại file: pdf
Dung lượng: 384.18 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Cấu trúc dữ liệu và giải thuật - Chương 1: Các kiến thức cơ bản" cung cấp cho sinh viên các kiến thức: Các khái niệm (giải thuật, cấu trúc dữ liệu), phân tích giải thuật (giải ngôn ngữ, thời gian thực hiện giải thuật, đánh giá độ phức tạp sử dụng tiệm cận). Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Đỗ Bích Diệp Cấu trúc dữ liệu và Giải thuật Cấu trúc dữ liệu và Giải thuật Chương I: Các kiến thức cơ bản Các kiến thức cơ bản Nội dung Các khái niệm Giảithuật Cấu trúc dữ liệu Phân tích giải thuật Giảngôn ngữ Thời gian thực hiện giải thuật Đánh giá độ phức tạp sử dụng tiệm cận Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 1 Cấu trúc dữ liệu và Giải thuật Giải thuật – Một thủ tục bao gồm một dãy hữu hạn các bước cần thực hiện để thu được đầu ra cho đầu vào cho trước của một bài toán Giải thuật z Đặc trưng của giải thuật – Đầu vào – Đầu ra – Tính hữu hạn – Tính hiệu quả – Tính xác định Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 2 Cấu trúc dữ liệu và Giải thuật Giải thuật và Chương trình Chương trình là một thể hiện của Giải thuật trong một ngôn ngữ lập trình nào đó Cấu trúc dữ liệu z Kiểu dữ liệu trừu tượng (Abstract Data Type) – Là mô hình toán học và những phép toán thực hiện trên mô hình toán học này – Ví dụ: ADT List z Dữ liệu: Các nút z Các phép toán: – Bổ sung một nút mới – Loại bỏ một nút – Tìm kiếm một nút có giá trị cho trước – … Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 3 Cấu trúc dữ liệu và Giải thuật Cấu trúc dữ liệu z Cấu trúc dữ liệu – Sử dụng để biểu diễn mô hình toán học trong ADT – Việc cài đặt các kiểu dữ liệu trừu tượng đòi hỏi phải chọn các cấu trúc dữ liệu để biểu diễn – Liên quan đến cách thức tổ chức và truy nhập các phần tử dữ liệu – Ví dụ: ADT List z Cài đặt sử dụng cấu trúc mảng đơn giản z Cài đặt sử dụng cấu trúc con trỏ Xây dựng chương trình giải bài toán – Lời giải một bài toán bao gồm z Cấu trúc dữ liệu z Thuật toán – Xây dựng chương trình giải bài toán z Tương tự như vòng đời của phần mềm z Gồm các bước – Thu thập yêu cầu: Hiểu rõ đầu vào và kết quả đầu ra – Thiết kế : Xây dựng giải thuật, bỏ qua các chi tiết về cách thức cài đặt dữ liệu hay các phương thức, tập trung vào các bước xử lý – Phân tích : Tìm, so sánh với giải thuật khác – Cài đặt: Xây dựng chương trình, quan tâm đến cách thức tổ chức, biểu diễn và cài đặt các phương thức – Kiểm thử : Bao gồm chứng minh tính đúng đắn của chương trình, kiểm thử các trường hợp , tìm, sửa lỗi Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 4 Cấu trúc dữ liệu và Giải thuật Thuật toán và độ phức tạp – Đánh giá lượng tài nguyên các loại mà một giải thuật đã sử dụng. z Giải thuật này thực hiện trong thời gian thế nào Æ Phân tích về thời gian thực hiện giải thuật z Giải thuật này sử dụng bao nhiêu bộ nhớ Æ Phân tích độ không gian nhớ mà giải thuật (chương trình) cần có. Phân tích thời gian thực hiện giải thuật – Mục tiêu của việc xác định thời gian thực hiện một giải thuật: z Để ước lượng một chương trình sẽ thực hiện trong bao lâu z Để ước lượng kích thước dữ liệu đầu vào lớn nhất có thể cho một giải thuật z Để so sánh hiệu quả của các giải thuật khác nhau, từ đó lựa chọn ra một giải thuật thích hợp cho một bài toán z Để giúp tập trung vào đoạn giải thuật được thực hiện với thời gian lớn nhất Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 5 Cấu trúc dữ liệu và Giải thuật Ph ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Đỗ Bích Diệp Cấu trúc dữ liệu và Giải thuật Cấu trúc dữ liệu và Giải thuật Chương I: Các kiến thức cơ bản Các kiến thức cơ bản Nội dung Các khái niệm Giảithuật Cấu trúc dữ liệu Phân tích giải thuật Giảngôn ngữ Thời gian thực hiện giải thuật Đánh giá độ phức tạp sử dụng tiệm cận Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 1 Cấu trúc dữ liệu và Giải thuật Giải thuật – Một thủ tục bao gồm một dãy hữu hạn các bước cần thực hiện để thu được đầu ra cho đầu vào cho trước của một bài toán Giải thuật z Đặc trưng của giải thuật – Đầu vào – Đầu ra – Tính hữu hạn – Tính hiệu quả – Tính xác định Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 2 Cấu trúc dữ liệu và Giải thuật Giải thuật và Chương trình Chương trình là một thể hiện của Giải thuật trong một ngôn ngữ lập trình nào đó Cấu trúc dữ liệu z Kiểu dữ liệu trừu tượng (Abstract Data Type) – Là mô hình toán học và những phép toán thực hiện trên mô hình toán học này – Ví dụ: ADT List z Dữ liệu: Các nút z Các phép toán: – Bổ sung một nút mới – Loại bỏ một nút – Tìm kiếm một nút có giá trị cho trước – … Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 3 Cấu trúc dữ liệu và Giải thuật Cấu trúc dữ liệu z Cấu trúc dữ liệu – Sử dụng để biểu diễn mô hình toán học trong ADT – Việc cài đặt các kiểu dữ liệu trừu tượng đòi hỏi phải chọn các cấu trúc dữ liệu để biểu diễn – Liên quan đến cách thức tổ chức và truy nhập các phần tử dữ liệu – Ví dụ: ADT List z Cài đặt sử dụng cấu trúc mảng đơn giản z Cài đặt sử dụng cấu trúc con trỏ Xây dựng chương trình giải bài toán – Lời giải một bài toán bao gồm z Cấu trúc dữ liệu z Thuật toán – Xây dựng chương trình giải bài toán z Tương tự như vòng đời của phần mềm z Gồm các bước – Thu thập yêu cầu: Hiểu rõ đầu vào và kết quả đầu ra – Thiết kế : Xây dựng giải thuật, bỏ qua các chi tiết về cách thức cài đặt dữ liệu hay các phương thức, tập trung vào các bước xử lý – Phân tích : Tìm, so sánh với giải thuật khác – Cài đặt: Xây dựng chương trình, quan tâm đến cách thức tổ chức, biểu diễn và cài đặt các phương thức – Kiểm thử : Bao gồm chứng minh tính đúng đắn của chương trình, kiểm thử các trường hợp , tìm, sửa lỗi Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 4 Cấu trúc dữ liệu và Giải thuật Thuật toán và độ phức tạp – Đánh giá lượng tài nguyên các loại mà một giải thuật đã sử dụng. z Giải thuật này thực hiện trong thời gian thế nào Æ Phân tích về thời gian thực hiện giải thuật z Giải thuật này sử dụng bao nhiêu bộ nhớ Æ Phân tích độ không gian nhớ mà giải thuật (chương trình) cần có. Phân tích thời gian thực hiện giải thuật – Mục tiêu của việc xác định thời gian thực hiện một giải thuật: z Để ước lượng một chương trình sẽ thực hiện trong bao lâu z Để ước lượng kích thước dữ liệu đầu vào lớn nhất có thể cho một giải thuật z Để so sánh hiệu quả của các giải thuật khác nhau, từ đó lựa chọn ra một giải thuật thích hợp cho một bài toán z Để giúp tập trung vào đoạn giải thuật được thực hiện với thời gian lớn nhất Đỗ Bích Diệp - Khoa CNTT- ĐHBKHN 5 Cấu trúc dữ liệu và Giải thuật Ph ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu Bài giảng Giải thuật Giải ngôn ngữ Phân tích giải thuật Cấu trúc dữ liệuTài liệu liên quan:
-
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 376 0 0 -
Đề 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 319 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 163 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 152 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 143 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 139 0 0 -
57 trang 134 1 0
-
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 125 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 3 - Một số mô hình thuật toán
42 trang 74 0 0