Skip to content

Tập hợp các bài giảng, ví dụ mã nguồn, và bài tập liên quan đến việc học và thực hành cấu trúc dữ liệu và thuật toán sử dụng ngôn ngữ lập trình C/C++.

Notifications You must be signed in to change notification settings

HaiAu2501/Data-Structures-and-Algorithms-using-C

Repository files navigation

Cấu trúc dữ liệu và Thuật toán - Ngôn ngữ C/C++

Logo

Static Badge Static Badge Static Badge GitHub commit activity GitHub last commit GitHub language count GitHub Repo stars

Chào mừng bạn đến với kho lưu trữ đáng yêu này ~ Đây là một tập hợp các bài giảng, ví dụ mã nguồn, và bài tập liên quan đến việc học và thực hành cấu trúc dữ liệuthuật toán sử dụng ngôn ngữ lập trình C/C++. Cấu trúc dữ liệu và thuật toán là những khái niệm cơ bản và quan trọng trong lĩnh vực lập trình.

  • Cấu trúc dữ liệu là cách tổ chức, quản lý và lưu trữ dữ liệu để nó có thể được sử dụng hiệu quả.
  • Thuật toán là một tập hợp các bước thực hiện được xác định rõ ràng, nhằm giải quyết một vấn đề hoặc thực hiện một nhiệm vụ cụ thể.

⭐ Vì sao tôi chọn ngôn ngữ lập trình C/C++?

Ngôn ngữ C và C++ là lựa chọn phổ biến cho việc học và ứng dụng cấu trúc dữ liệu và thuật toán vì nhiều lý do:

  • C và C++ là ngôn ngữ lập trình cấp thấp hơn so với những ngôn ngữ bậc cao khác, giúp chúng có hiệu suất cao và gần gũi với phần cứng.
  • C/C++ cung cấp khả năng quản lý bộ nhớ thủ công, giúp bạn hiểu rõ hơn về cách hoạt động của bộ nhớ và cách tối ưu hóa mã nguồn.
  • Nhiều hệ điều hành, trình biên dịch, và hệ thống được viết hoặc hỗ trợ bởi C/C++, làm cho việc học hai ngôn ngữ này trở thành bước đệm quan trọng cho sự phát triển chuyên nghiệp.

⭐ Lộ trình học tập

Chương trình học này được thiết kế để dẫn dắt bạn từ cơ bản đến nâng cao, nắm vững những khái niệm và kỹ thuật quan trọng nhất trong lĩnh vực lập trình. Mỗi tuần, bạn sẽ tập trung vào một hoặc nhiều chủ đề cụ thể, bắt đầu từ nền tảng, xây dựng lên những kiến thức phức tạp hơn. Dưới đây là một số chủ đề chính bạn sẽ học:

Chủ đề Nội dung
Thuật toán Recursion Đệ quy
Backtracking Quay lui
Divide and Conquer Chia để trị
Branch and Bound Nhánh cận
Greedy Algorithm Tham lam
Dynamic Programming Quy hoạch động
Graph Algorithms Các thuật toán trên đồ thị
Cấu trúc dữ liệu Linked List Danh sách liên kết
Stack Ngăn xếp
Queue Hàng đợi
Deque Hàng đợi hai đầu
Trees Cây tổng quát, cây nhị phân
Hash Table Bảng băm
Graph Đồ thị

⭐ Tài liệu tham khảo

Dưới đây là một số cuốn sách tôi sử dụng cho việc học tập, hãy tham khảo để có thêm những thông tin hữu ích. Nghiền ngẫm chúng cùng lúc với khi xem xét kho lưu trữ này để có hiệu quả tốt nhất nhé ~

  • Michael T. Goodrich, Roberto Tamassia, David M. Mount; Data Structures and Algorithms in C++; Second Edition.
  • Alexander Shen; Algorithms and Programming: Problems and Solutions; Second Edition.
  • Antti Laaksonen; Guide to Competitive Programming: Learning and Improving Algorithms Through Contests.
  • Robert C. Seacord; Effective C: An Introduction to Professional C Programming.

Releases

No releases published

Packages

No packages published