CTDL & Giải thuật
Cấu trúc dữ liệu và Giải thuật (Data Structures & Algorithms - DSA) là nền tảng quan trọng nhất của khoa học máy tính và lập trình. Việc nắm vững DSA sẽ giúp bạn:
- Viết code hiệu quả hơn - Chọn đúng cấu trúc dữ liệu và thuật toán phù hợp
- Giải quyết vấn đề tốt hơn - Tư duy logic và phân tích bài toán
- Vượt qua phỏng vấn - DSA là phần quan trọng trong phỏng vấn kỹ thuật
📚 Nội dung
Cấu trúc dữ liệu (Data Structures)
| Chủ đề | Mô tả |
|---|---|
| Độ phức tạp thuật toán | Big O Notation, phân tích thời gian và không gian |
| Mảng (Array) | Cấu trúc dữ liệu tuyến tính cơ bản |
| Danh sách liên kết | Singly, Doubly, Circular Linked List |
| Ngăn xếp (Stack) | LIFO - Last In First Out |
| Hàng đợi (Queue) | FIFO - First In First Out |
| Bảng băm (Hash Table) | Key-value storage, hashing |
| Cây (Tree) | Binary Tree, BST, AVL |
| Heap & Priority Queue | Min/Max Heap |
| Đồ thị (Graph) | Adjacency List/Matrix |
Thuật toán (Algorithms)
| Chủ đề | Mô tả |
|---|---|
| Thuật toán tìm kiếm | Linear Search, Binary Search |
| Thuật toán sắp xếp | Bubble, Selection, Merge, Quick Sort |
| Đệ quy | Recursion, Call Stack |
| Chia để trị | Divide and Conquer |
| Quy hoạch động | Dynamic Programming |
| Thuật toán tham lam | Greedy Algorithms |
| Quay lui | Backtracking |
| Duyệt đồ thị | BFS, DFS |
🎯 Lộ trình học
📖 Tài liệu tham khảo
- Roadmap DSA - Lộ trình học DSA chi tiết
- LeetCode - Luyện tập bài tập DSA
- GeeksforGeeks - Tài liệu và bài tập DSA
Last updated on