aliraja-dev / Data-structures-algorithms-Javascript

Popular Data Structures & Algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structures & Algorithms

This project is about understanding, implementing and evaluating popular algorithms and data structures for common use cases in programming.

Expository Language

This Repo's expository language for DSA is Javascript, there is a separate repo for DSA using Java as well.

Algorithms

I will be covering the algorithms in the following areas:

1- Searching 2- Sorting

List of Algorithms

Sorting

1- Bubble Sort 2- Merge Sort 3- Quick Sort 4- Selection Sort

Searching

1- Binary search 2- linear search

And we will also be discussing the Big O Notations for the time and space complexity in best, average and the worst case scenarios as well for these algorithms.

Data Structures

1- Arrays 2- Linked Lists (singly & doubly) 3- Maps 4- Sets 5- Queues 6- Priority Queues 7- Stacks 8- Trie 9- Hash tables 10- heaps (max and min) 11- binary search tree 12- graphs

Implementation

The algorithms will be implemented in the Java & Javascript languages. In case, where ES6 provides built in data structures for sets and maps, I will show both built in and a custom implementation of it.

Evaluation

Important part of knowing algorithms is to know their runtimes and which algorithm is best suited for a given problem and its underlying data structure to be used as well. Thus Algorithms will be evaluated for Time & space complexity and Big O notation will be discussed for them.

About

Popular Data Structures & Algorithms


Languages

Language:JavaScript 100.0%