12/03/2020

Cấu trúc dữ liệu và thuật toán | Tài liệu, cơ sở ngành CNTT


 Cấu trúc dữ liệu và thuật toán là điều bắt buộc mà bất kì lập trình viên nào cũng đều phải biết. Quản lý dữ liệu có cấu trúc sẽ giúp giảm thời gian tính toán đi rất nhiều, còn thuật toán thì không phải nói tới nó quan trọng như nào, tuy rằng với thời đại mà máy tính rất mạnh mẽ thì việc một thuật toán chạy với O(n) hay O(n^2) có thể không quan trọng lắm nhưng khi dữ liệu lớn lên thì mọi thứ đều cần phải tối ưu để có được những kết quả tốt trong thời gian cho phép.

Tại Bách Khoa, môn Cấu trúc dữ liệu và thuật toán khá là nhàm chán, không có thực hành, học lý thuyết xuông và đi thi cũng thi trên giấy ( là thi code trên giấy hoặc là viết mã giả). Môn này đề cập tới những gì sâu xa nhất, giới thiệu tới những cấu trúc dữ liệu cơ bản, cách cài đặt những cấu trúc dữ liệu cơ bản này, các thao tác trên cấu trúc dữ liệu ( như chèn, xóa, sửa, ...). Về phần thuật toán các bạn sẽ được giới thiệu tới những thuật toán như sắp xếp, tìm kiếm,... và một số thuật toán trên đồ thị ( phần này toán rời rạc sẽ học sâu hơn, và nhiều khi Toán rời rạc với Cấu trúc dữ liệu học cùng kì thì các thầy dạy cấu trúc dữ liệu thường bàn với nhau việc lược bỏ phần này).

Tuy là học lý thuyết xuống nhưng các bạn cũng không nên quá nản vì môn này mới là khởi đầu thôi. Ngày trước môn này 3 tín và có thực hành, tuy nhiên bây giờ đã giảm xuống 2 tín và hoàn toàn không có thực hành. Phần thực hành đã được tách ra hẳn 1 môn khác là thuật toán ứng dụng mà các thầy vẫn hay gọi là cấu trúc dữ liệu 2, khi học môn này các bạn thao hồ code mỏi tay, code tới chán không muốn code nữa cơ nên không cần thắc mắc là môn này chỉ học lý thuyết rất nhàm chán nha. Nó sẽ cung cấp cho bạn kiến thức nền vững chắc nhất để học các môn học sau này.

Mình chia sẻ tới mọi người một số tài liệu học môn này để mọi người tham khảo và tự học : 

  • Slide bài giảng CTDL & TT thầy Nguyễn Đức Nghĩa : TẢI VỀ SLIDE (trả biết thầy Nghĩa nhét gì vào trong này mà slide của thầy nặng kinh khủng)

  • Đề thi CTDL & TT được tổng hợp từ nhiều nguồn ( cái này thực ra cũng là 1 số đề từ khá lâu, chỉ mang tính chất tham khảo là chính, ôn thi các bạn nên ôn thi theo các phần trọng tâm mà thầy dặn) : TẢI VỀ ĐỀ THI