Skip to content

This repository serves as a comprehensive collection of implementations for various data structures and algorithms in different programming languages. Whether you're a beginner learning the fundamentals of computer science or an experienced developer looking to refresh your knowledge, this repository has something for everyone.

License

Notifications You must be signed in to change notification settings

jason-bourne-gg/DSA

Repository files navigation

Data Structures and Algorithms

This repository contains implementations of various data structures and algorithms in different programming languages. It serves as a reference for learning and understanding fundamental concepts in computer science and software engineering.

Introduction

Data structures and algorithms are fundamental building blocks of computer programs. They allow us to organize and manipulate data efficiently, leading to optimized solutions for various computational problems. This repository aims to provide implementations of common data structures and algorithms in different programming languages, along with explanations and examples. I will be visiting the most commenly asked questions of almost of the topics and will be posting most intutitive soltions here.

Languages

The implementations in this repository are available in the following programming languages:

  • C++
  • Python
  • JavaScript

Choose the language of your preference to explore the implementations.

Data Structures

The repository covers a wide range of data structures, including:

  • Arrays
  • Linked Lists
  • Stacks
  • Queues
  • Trees (Binary Trees, Binary Search Trees, etc.)
  • Graphs (only famous algos)
  • Hash Tables
  • Heaps

Each data structure includes its implementation along with usage examples and explanations.

Algorithms

The repository includes various algorithms for:

  • Searching (Linear Search, Binary Search, etc.)
  • Sorting (Bubble Sort, Merge Sort, Quick Sort, etc.)
  • Graph Traversal (Depth-First Search, Breadth-First Search, etc.)
  • Dynamic Programming
  • Greedy Algorithms
  • and more...

Each algorithm is implemented with detailed explanations, time complexity analysis, and examples demonstrating its usage.

Contributing

Contributions to this repository are welcome! If you have an implementation of a data structure or algorithm in any programming language that you'd like to share, feel free to open a pull request. Please ensure that your code follows the repository's coding conventions and includes appropriate documentation and tests.

For major changes, please open an issue first to discuss what you would like to change.

License

This repository is licensed under the MIT License.

About

This repository serves as a comprehensive collection of implementations for various data structures and algorithms in different programming languages. Whether you're a beginner learning the fundamentals of computer science or an experienced developer looking to refresh your knowledge, this repository has something for everyone.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published