Skip to content

Contains a list of algorithms that are Implemented using Python , covers simple examples as part of the snippets which would help to understand the concepts of algorithms.

Notifications You must be signed in to change notification settings

rvigneshwaran/datastructures-and-algorithms

Repository files navigation

Data Structures and Algorithms

Overview

This project is a comprehensive implementation of various data structures and algorithms in multiple programming languages. It serves as a valuable resource for anyone interested in learning and practicing essential concepts in computer science.

Table of Contents

  1. Introduction
  2. Algorithms
  3. Data Structures
  4. Usage
  5. Contributing
  6. License

Introduction

This project aims to provide a comprehensive collection of data structures and algorithms implemented in multiple programming languages. Each algorithm and data structure is accompanied by detailed explanations and sample code, making it easy to understand and apply them in real-world scenarios. Whether you're a student, software engineer, or tech enthusiast, this repository serves as an invaluable resource to enhance your understanding of fundamental concepts.

Algorithms

Sorting Algorithms

Algorithm Description
Bubble Sort Simple sorting algorithm with average time complexity of O(n^2)
Insertion Sort Efficient algorithm for sorting small numbers of elements
Selection Sort Basic sorting algorithm with time complexity of O(n^2)
Merge Sort Divide-and-conquer algorithm with time complexity of O(n log n)
Quick Sort Efficient algorithm with average time complexity of O(n log n)
Heap Sort In-place comparison-based sorting algorithm

Searching Algorithms

Algorithm Description
Linear Search Basic search algorithm that checks each element
Binary Search Efficient search algorithm for sorted arrays
Depth-First Search (DFS) Graph traversal algorithm exploring as far as possible before backtracking
Breadth-First Search (BFS) Graph traversal algorithm exploring neighbor nodes before moving to the next level

Graph Algorithms

Algorithm Description
Depth-First Search (DFS) Graph traversal algorithm exploring as far as possible before backtracking
Breadth-First Search (BFS) Graph traversal algorithm exploring neighbor nodes before moving to the next level
Dijkstra's Algorithm Shortest path algorithm for weighted graphs
Prim's Algorithm Minimum spanning tree algorithm for weighted graphs
Kruskal's Algorithm Minimum spanning tree algorithm for weighted graphs

Data Structures

Arrays

  • Dynamic Array
  • Circular Array
  • Sparse Array

Linked Lists

  • Singly Linked List
  • Doubly Linked List
  • Circular Linked List

Stacks

  • Array-based Stack
  • Linked List-based Stack

Queues

  • Array-based Queue
  • Linked List-based Queue
  • Priority Queue

Trees

  • Binary Search Tree
  • AVL Tree
  • Red-Black Tree
  • Heap

Heaps

  • Min Heap
  • Max Heap
  • PriorityQueue

Hash Tables

  • Simple Hash Table
  • HashMap

Graphs

  • Adjacency Matrix
  • Adjacency List
  • Graph Traversal Algorithms

Usage

To use the code in this project, simply select the programming language of your choice and navigate to the corresponding folder. Each algorithm and data structure is implemented in multiple languages, making it easy to find the one you're interested in. You can copy and modify the code to fit your needs within your own projects.

Contributing

Contributions to this project are welcome! If you have any suggestions for improvements or would like to add new algorithms or data structures in different programming languages, please open an issue or submit a pull request. Let's collaborate and make this repository even more comprehensive and valuable for the community.

License

This project is licensed under the MIT License. Feel free to use the code and modify it according to your needs.

About

Contains a list of algorithms that are Implemented using Python , covers simple examples as part of the snippets which would help to understand the concepts of algorithms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published