https://github.com/krotrn/cpp
This repository contains C++ code and projects. It serves as a collection of examples, utilities, and applications written in C++. Whether you are a beginner looking to learn C++ or an experienced developer seeking useful snippets and projects, this repository aims to be a valuable resource.
https://github.com/krotrn/cpp
cpp
Last synced: 3 months ago
JSON representation
This repository contains C++ code and projects. It serves as a collection of examples, utilities, and applications written in C++. Whether you are a beginner looking to learn C++ or an experienced developer seeking useful snippets and projects, this repository aims to be a valuable resource.
- Host: GitHub
- URL: https://github.com/krotrn/cpp
- Owner: krotrn
- License: mit
- Created: 2024-06-09T13:44:35.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-17T20:12:14.000Z (over 1 year ago)
- Last Synced: 2024-10-19T13:53:15.987Z (over 1 year ago)
- Topics: cpp
- Language: C++
- Homepage: https://krotrn.github.io/CPP/
- Size: 1.14 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Learning DSA in C++
Welcome to my journey of learning Data Structures and Algorithms (DSA) in C++. This repository is a personal project where I commit to learning and improving my DSA skills every day. I aim to update this repository regularly with new concepts, code snippets, and challenges I've tackled.
## Introduction
Data Structures and Algorithms are fundamental to improving problem-solving skills and understanding computational efficiency. My goal is to master these concepts in C++ due to its performance advantages and its close relationship with system-level resources.
## Topics Covered
### Data Structures
- **Arrays**: Static and dynamic arrays, and their applications.
- **Linked Lists**: Singly and doubly linked lists; basic operations like insertion, deletion, and traversal.
- **Stacks**: Implementation and usage scenarios.
- **Queues**: Different types such as circular and priority queues.
- **Heap**: Max and min heaps; applications in priority queues and heapsort.
- **HashMap**: Efficient key-value storage, collision handling, and usage in various algorithms.
- **Sets**: Unordered and ordered sets, operations like union, intersection, and difference.
- **Trees**: General trees, binary trees, and traversal techniques (preorder, inorder, postorder).
- **Binary Search Trees (BST)**: Operations like insertion, deletion, and searching in a BST.
### Algorithms
- **Sorting and Searching**: Bubble sort, insertion sort, merge sort, quicksort, linear search, binary search.
- **Greedy Algorithms**: Problem-solving strategies that build up a solution step by step, making locally optimal choices.
- **Dynamic Programming (DP)**: Techniques to solve complex problems by breaking them down into simpler subproblems, focusing on overlapping subproblems and optimal substructure.
- **Graph Algorithms**: Representation of graphs (adjacency matrix, adjacency list), depth-first search (DFS), breadth-first search (BFS), shortest path algorithms (Dijkstra's, Bellman-Ford), and minimum spanning tree algorithms (Kruskal's, Prim's).
- **Backtracking(Currently Learning)**: Systematic way to iterate through all possible configurations of a search space, used for solving constraint satisfaction problems like puzzles, permutations, and combinations.
### Object-Oriented Programming (OOP)
- Mastering OOP principles such as encapsulation, inheritance, polymorphism, and abstraction in C++ for better modularity and code reuse.
This journey is ongoing, and I plan to explore more advanced topics and dive deeper into optimizing solutions.
## Learning Resources
I've been leveraging a variety of resources to aid my learning:
- [C++ Documentation](https://en.cppreference.com/w/)
- [Decode DSA with C++ 2.0](https://www.pwskills.com/)
- [LeetCode](https://leetcode.com/)
## LeetCode Profile
You can follow my problem-solving progress on LeetCode:
[LeetCode - Krotrn](https://leetcode.com/u/krotrn/)
## Conclusion
This repository serves as both a log of my personal learning journey and a resource for anyone interested in mastering DSA in C++. Feel free to explore, contribute, or draw inspiration from it!
## GitHub Repository
Explore my code and projects:
[GitHub - CPP DSA Journey](https://github.com/krotrn/CPP)