- Bài 1: Giới thiệu về cấu trúc dữ liệu và giải thuật (Introduction to data structures and algorithms). - Cấu trúc dữ liệu (data structure). - Cấu trúc dữ liệu là gì?. - Cấu trúc dữ liệu là cách tổ chức lưu giữ dữ liệu trong sao cho hiệu quả nhất - Thế nào là hiệu quả?. - Các kiểu cấu trúc dữ liệu cơ bản. - Danh sách (array). - Ví dụ 1: Sắp xếp danh sách tuyển sinh. - Ví dụ:. - Ví dụ 1’: Sắp xếp danh sách website (google search). - Ví dụ 2: Danh bạ ñiện thoại. - Ví dụ 3: Tìm ñường ñi tốt nhất. - Ví dụ 3: Tìm ñường ñi tốt nhất (google map). - Ví dụ 4: Xây dựng hệ thống từ ñiển. - Ví dụ 5: Người bán hàng. - Các ví dụ khác (10’). - “Thuật toán + Cấu trúc dữ liệu = Chương trình”. - Dữ liệu. - Dữ liệu là những thông tin mà máy tính có thể xử lý: số nguyên, số thực, xâu kí tự, và các dữ liệu phức tạp ñược tạo từ nhiều thành phần. - Trong bộ nhớ máy tính, dữ liệu ñược biểu diễn dưới dạng nhị phân (dãy các kí tự 0, 1). - dữ liệu ñược biểu diễn dưới dạng trừu tượng, xuất phát từ biểu diễn toán học và dễ hiểu cho con người:. - Kiểu dữ liệu cơ bản. - Kiểu dữ liệu ñược xác ñịnh bởi:. - Các phép toán. - Ví dụ trong C++. - Kiểu dữ liệu có cấu trúc. - Câu hỏi: Làm sao ñể biểu diễn dữ liệu về 1 ñiểm trên mặt phẳng?. - ðáp án: Ngôn ngữ lâp trình cung cấp cho ta những luật ñể xây dựng kiểu dữ liệu mới T từ những kiểu dữ liệu ñã biết t 1 , t 2 ,…,t n. - Ví dụ trong C++:. - Xây dựng cấu trúc dữ liệu ñể biểu diễn dữ liệu của 1 ñiểm trên mặt phẳng struct pointType. - Xây dựng cấu trúc dữ liệu ñể biểu diễn dữ liệu của 1 ñoạn thẳng trên mặt phẳng. - Xây dựng cấu trúc dữ liệu ñể biểu diễn 1 sinh viên (5’) struct studentType. - Xây dựng cấu trúc dữ liệu ñể biểu diễn danh sách 1 lớp học struct studentClassType{. - Phạm vi và các phép toán trên kiểu dữ liệu có cấu trúc. - Xét kiểu dữ liệu mới T ñược tạo từ nhưng kiểu dữ liệu ñã biết t 1 , t 2 ,…,t n, Ví dụ:. - Phạm vi: Xác ñịnh bởi phạm vi của các kiểu dữ liệu thành phần – real: là số thực nằm trong phạm vi kiểu ‘double’. - Phép toán: Do người dùng ñịnh nghĩa Ví dụ:. - c12.real = c1.real + c2.real;. - c12.image = c1.image + c2.image;. - c12.real = (c1.real * c2.real. - (c1.image * c2.image);. - c12.image = (c1.real * c2.image. - (c1.image * c2.real);. - Trừu tượng hóa dữ liệu. - ðặc tả ñối tượng dữ liệu (các thành phần dữ liệu của ñối tượng) Ví dụ: ñối tượng số phức (complex). - real – image. - ðặc tả các phép toán trên ñối tượng dữ liệu (operations) 2. - ðặc tả các phép toán trên ñối tượng dữ liệu (operations). - Ví dụ: ðối tượng số phức (complex):. - ðặc tả ñối tượng dữ liệu. - ðặc tả các phép toán trên ñối tượng dữ liệu 2. - ðặc tả các phép toán trên ñối tượng dữ liệu. - Lập trình hướng ñối tượng. - Object: Biểu diễn cho một ñối tượng cụ thể của một lớp. - Class: Cài ñặt một lớp ñối tượng dữ liệu trừu tượng. - Việc cài ñặt bao gồm cài ñặt các thành phần dữ liệu và các phép toán trên dữ liệu. - Liên kết chặt chẽ giữa dữ liệu và phép toán. - Che dấu dữ liệu. - ðặc tả vấn ñề. - Thiết kế cấu trúc dữ liệu và giải thuật. - Input: Dữ liệu vào, các rằng buộc, ñịnh dạng Ouput: Dữ liệu ra, các rằng buộc, ñịnh dạng. - Ví dụ: Cho một dãy số phức, hãy 1. - ðặc tả vấn ñề:. - Input: Một dãy số phức, mỗi số phức ñược biểu diễn bởi 2 số thực mô tả phần thực (real) và phần ảo (image). - c1 (số phức biểu diễn tổng của dãy số phức. - c2 (số phức biểu diễn tích của dãy số phức
Xem thử không khả dụng, vui lòng xem tại trang nguồn hoặc xem
Tóm tắt