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ánBig 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ếtSingly, 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 QueueMin/Max Heap
Đồ thị (Graph)Adjacency List/Matrix
Chủ đềMô tả
Thuật toán tìm kiếmLinear Search, Binary Search
Thuật toán sắp xếpBubble, Selection, Merge, Quick Sort
Đệ quyRecursion, Call Stack
Chia để trịDivide and Conquer
Quy hoạch độngDynamic Programming
Thuật toán tham lamGreedy Algorithms
Quay luiBacktracking
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