Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ CPP Public

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.

License

Notifications You must be signed in to change notification settings

krotrn/CPP

Repository files navigation

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:

LeetCode Profile

You can follow my problem-solving progress on LeetCode:
LeetCode - 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

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /