| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This repository contains JavaScript based examples of many popular algorithms and data structures.
Each algorithm and data structure have its own separate README with related explanations and link for further reading and YouTube videos.
Install all dependencies
npm install
Run all tests
npm test
Run tests by name
npm test -- -t 'LinkedList'
You may play with data-structures and algorithms in ./src/playground/playground.js file and write tests for it in ./src/playground/__test__/playground.test.js.
Then just simply run the following command to test if your playground code works as expected:
npm test -- -t 'playground'
▶ Data Structures and Algorithms on YouTube
Order of growth of algorithms specified in Big O notation.
Source: Big O Cheat Sheet.
Below is the list of some of the most used Big O notations and their performance comparisons against different sizes of the input data.
| Big O Notation | Computations for 10 elements | Computations for 100 elements | Computations for 1000 elements |
|---|---|---|---|
| O(1) | 1 | 1 | 1 |
| O(log N) | 3 | 6 | 9 |
| O(N) | 10 | 100 | 1000 |
| O(N log N) | 30 | 60 | 9000 |
| O(N^2) | 100 | 10000 | 1000000 |
| O(2^N) | 1024 | 1.26e+29 | 1.07e+301 |
| O(N!) | 3628800 | 9.3e+157 | 4.02e+2567 |
| Data Structure | Access | Search | Insertion | Deletion |
|---|---|---|---|---|
| Array | 1 | n | n | n |
| Stack | n | n | 1 | 1 |
| Queue | n | n | 1 | 1 |
| Linked List | n | n | 1 | 1 |
| Hash Table | - | n | n | n |
| Binary Search Tree | n | n | n | n |
| B-Tree | log(n) | log(n) | log(n) | log(n) |
| Red-Black Tree | log(n) | log(n) | log(n) | log(n) |
| AVL Tree | log(n) | log(n) | log(n) | log(n) |
| Name | Best | Average | Worst | Memory | Stable |
|---|---|---|---|---|---|
| Bubble sort | n | n^2 | n^2 | 1 | Yes |
| Insertion sort | n | n^2 | n^2 | 1 | Yes |
| Selection sort | n^2 | n^2 | n^2 | 1 | No |
| Heap sort | n log(n) | n log(n) | n log(n) | 1 | No |
| Merge sort | n log(n) | n log(n) | n log(n) | n | Yes |
| Quick sort | n log(n) | n log(n) | n^2 | log(n) | No |
| Shell sort | n log(n) | depends on gap sequence | n (log(n))^2 | 1 | No |
| Back | FazBrowse Home | New Git URL |