Bỏ qua để đến nội dung

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
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
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
  • Hello Algo - Sách trực quan về cấu trúc dữ liệu và giải thuật
  • 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