Skip to content

Repo C-Algorithm là nơi mình tổng hợp, cài đặt và luyện tập các thuật toán kinh điển bằng C++ trong suốt 3 năm cấp 3. Repo bao gồm nhiều chủ đề: Sorting, Searching, Data Structures, Dynamic Programming, Graph, Math... giúp rèn luyện tư duy thuật toán, làm quen với cấu trúc dữ liệu và chuẩn bị nền tảng cho lập trình thi đấu lẫn phát triển phần mềm

Notifications You must be signed in to change notification settings

buitanphat247/C-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 C-Algorithm

Repo này tập hợp các thuật toán C++ mình đã học, cài đặt và luyện tập trong suốt 3 năm cấp 3.
Mục tiêu là xây dựng một thư viện thuật toán nhỏ gọn, dễ hiểu, có chú thích đầy đủ để phục vụ học tập và luyện thi.


🔹 Nội dung chính

1. Thuật toán sắp xếp

  • Bubble Sort, Selection Sort, Insertion Sort
  • Quick Sort, Merge Sort, Heap Sort
  • Counting Sort, Radix Sort (mức nâng cao)

2. Tìm kiếm

  • Tìm kiếm tuyến tính (Linear Search)
  • Tìm kiếm nhị phân (Binary Search)
  • Ứng dụng: lower_bound, upper_bound trong C++

3. Cấu trúc dữ liệu cơ bản

  • Stack, Queue, Deque
  • Linked List (singly, doubly)
  • Tree & Binary Search Tree
  • Heap (Min-Heap, Max-Heap)
  • Hash Table (cơ bản)

4. Đệ quy & Quy hoạch động (Dynamic Programming)

  • Fibonacci, nCr (toán tổ hợp)
  • Bài toán cái túi (Knapsack Problem)
  • Longest Increasing Subsequence (LIS)
  • DP trên xâu (Longest Common Subsequence, Edit Distance)

5. Thuật toán đồ thị

  • Biểu diễn đồ thị: adjacency list, adjacency matrix
  • BFS, DFS
  • Dijkstra (tìm đường đi ngắn nhất)
  • Floyd–Warshall, Bellman–Ford
  • Kruskal, Prim (cây khung nhỏ nhất – MST)

6. Các thuật toán khác

  • Số nguyên tố: Eratosthenes sieve
  • Ước chung lớn nhất (GCD) & Bội chung nhỏ nhất (LCM)
  • Thuật toán chia để trị (Divide & Conquer)
  • Thuật toán tham lam (Greedy)

🔹 Cấu trúc repo

C-Algorithm/
│── Sorting/            # Thuật toán sắp xếp
│── Searching/          # Thuật toán tìm kiếm
│── DataStructures/     # Cấu trúc dữ liệu
│── DynamicProgramming/ # Quy hoạch động
│── Graph/              # Thuật toán đồ thị
│── Math/               # Thuật toán toán học
│── Others/             # Các thuật toán khác

🔹 Mục tiêu học tập

  • Thành thạo cài đặt các thuật toán từ cơ bản đến nâng cao.
  • Hiểu rõ độ phức tạp thời gian – bộ nhớ.
  • Tự xây dựng một “thuật toán library” cá nhân để áp dụng cho các bài toán thi học sinh giỏi & contest online (Codeforces, AtCoder, LeetCode).

🔹 Kinh nghiệm đạt được

  • Rèn luyện tư duy giải thuật.
  • Thành thạo cú pháp C++ & STL.
  • Biết cách tối ưu code để chạy nhanh hơn.
  • Chuẩn bị nền tảng cho các ngôn ngữ & lĩnh vực khác (Python, AI, Backend…).

📌 Kết luận

C-Algorithm không chỉ là nơi chứa code, mà còn là bộ sưu tập thuật toán mình đã viết trong 3 năm cấp 3. Đây là nền tảng giúp mình tự tin bước vào con đường CNTT & lập trình chuyên nghiệp.


About

Repo C-Algorithm là nơi mình tổng hợp, cài đặt và luyện tập các thuật toán kinh điển bằng C++ trong suốt 3 năm cấp 3. Repo bao gồm nhiều chủ đề: Sorting, Searching, Data Structures, Dynamic Programming, Graph, Math... giúp rèn luyện tư duy thuật toán, làm quen với cấu trúc dữ liệu và chuẩn bị nền tảng cho lập trình thi đấu lẫn phát triển phần mềm

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published