💡 Note: This repository is a live, ongoing learning journey and is currently in progress. Some directories or files may be empty or under work as I take the time to learn and implement each concept.
Welcome to the cpp-dsa-fundamentals repository dedicated to learning C++ and Data Structures & Algorithms (DSA). This repository serves as a structured timeline of my learning journey, moving from basic syntax to complex data structures and algorithms.
The project right now is organized logically into three major phases:
-
01_cpp_fundamentals/- Core language concepts including basic syntax, pointers, references and more. -
02_data_structures/- Implementations of standard data structures like Linked Lists, Array, String and more. -
03_algorithms/- Standard problem-solving including Searching/Sorting, Recursion and more.
Before running the code, you need to ensure you have Git and a C++ compiler installed on your machine. Follow the guide below for your operating system:
Warning
The command below is specifically for Debian/Ubuntu-based distributions (like Linux Mint or Pop!_OS). If you are using a different distribution (like Arch, Fedora, or openSUSE), packages and commands will vary. Please check your specific distribution's documentation online to install Git and the base development tools.
Run the following command for Debian/Ubuntu-based distributions
sudo apt update && sudo apt install build-essential git -y-
For Git: Download and install Git for Windows.
-
For C++ Compiler: The easiest way to get g++ on Windows is by downloading MinGW-w64 via MSYS2 or installing the "Desktop development with C++" workload via Visual Studio Community.
Warning
Make sure both Git and MinGW are added to your system's environment PATH variables.
macOS makes this incredibly simple via the Terminal. Running this command will prompt you to install Apple's Command Line Tools, which includes both Git and the Clang C++ compiler (g++ alias):
xcode-select --installOpen terminal in a folder(the one you would like to clone the repo in) and run the following command in your respective terminal/konsole:
git clone https://github.com/rensyntax/cpp-dsa-fundamentals.gitRun the following command to navigate to following files of repo:
cd cpp-dsa-mastery/01_cpp_fundamentals/basic_syntaxNote: replace
01_cpp_fundamentals/basic_syntaxto whatever location you want to navigate.
Run the following command in your respective terminal:
g++ main.cpp -o mainNote: replace
main.cppwith the name of the file you would like to run.
-
Complete core
C++concepts required fordata structures & algorithms. -
Implement and understand all basic fundamental
data structures -
Solve 150+ standard
DSAproblems across diffirent topics. -
Maintain clean, readable, and well-commented/documented code.
📝 Reflective Note: You might notice that some of the code inside the
01_cpp_fundamentals/directory looks a bit messy, unoptimized, or even slightly incorrect. This is entirely intentional! That code represents the absolute beginning of my C++ journey. Instead of rewriting or deleting it to look perfect, I have chosen to leave it exactly as it was written. This serves as a permanent, documented benchmark so I can look back and visually see how much my coding skills have improved over time.
This project is open-source and licensed under the MIT License - see the LICENSE file for details.
Thank you for reading, have a nice day ahead. 👋
-- RenSyntax