Phần I: Cấu trúc dữ liệu I. Các kiểu dữ liệu trừu tượng cơ bản 1. Danh sách 2. Ngăn xếp 3. Hàng đợi 4. Danh sách liên kết kép II. Cấu trúc cây 1. Cây tổng quát i. Cài đặt bằng mảng ii. Cài đặt bằng danh sách các con iii. Cài đặt bằng cấu trúc con trái nhất và anh em ruột phải iv. Cài đặt bằng con trỏ 2. Cây nhị phân i. Duyệt cây nhị phân ii. Cài đặt cây nhị phân 3. Cây tìm kiếm nhị phân i. Cài đặt cây tìm kiếm nhị phân ii. Thêm một nút vào cây tìm kiếm nhị phân iii. Xóa nút khỏi cây tìm kiếm nhị phân III. Tập hợp 1. Cài đặt tập hợp i. Cài bằng vec-tơ bit ii. Cài đặt bằng danh sách liên kết 2. Từ điển i. Cài đặt từ điển bằng mảng ii. Cài đặt từ điển bằng bảng băm Phần II: Phân tích và thiết kế giải thuật I. Đánh giá độ phức tạp giải thuật 1. Tiêu chuẩn đánh giá giải thuật 2. Phương pháp đánh giá giải thuật 3. Phương trình đệ quy và các phương pháp giải II. Sắp xếp 1. Các giải thuật sắp xếp cơ bản 2. Các giải thuật sắp xếp nâng cao 3. Các giải thuật sắp xếp cho lưu trữ ngoài III. Kỹ thuật thiết kế giải thuật 1. Chia để trị 2. Quay lui, vét cạn, nhánh cận 3. Háu ăn 4. Quy hoạch động
Tài liệu tham khảo
1. Trần Cao Đệ, Cấu Trúc Dữ Liệu, NXB ĐHCT, 2010. 2. Nguyễn Văn Linh, Phân Tích và Thiết Kế Thuật Toán, NXB ĐHCT, 2010. 3. Lê Minh Trung, Lập trình nâng cao bằng pascal với các cấu trúc dữ liệu, SCITEC, 1997. 4. A. V. Aho, J. E. Hopcroft, J. D. Ullman, Data Structure and Algorithms, Addison–Wesley, 1983. 5. R. Sedgewick, Algorithms, Addison–Wesley, 1983. 6. H.S. Wilf, Algorithms and Complexity, A.K. Peters Ltd, 1994. 7. T. Cormen, C. Leiserson, R. Rivest, C. Stein, Introduction to Algorithms, McGraw-Hill, 1990.