|
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +<p align='center' > |
| 8 | +<img src="https://raw.githubusercontent.com/raj-rathod/DSA-visualisation-in-angular/main/src/assets/icons/dsa-logo.png"/> |
| 9 | +</p> |
| 10 | + |
| 11 | +# Data structure and algorithms visualization [](https://twitter.com/intent/tweet?text=Visualization%20is%20the%20better%20way%20to%20understand%20of%20the%20things&url=https://raj-rathod.github.io/DSA-visualisation-in-angular/&via=Rajesh946055&hashtags=dsa,faang,datastructures,Algorithms,developers) |
| 12 | +> DSA Visualization is a project on **data structures and algorithms**. In this project all points of data structures and algorithms like as working approach, properties, operations, applications, advantages and disadvantages are well explained and visualize the operations for better understanding. |
| 13 | +
|
| 14 | +```HTML |
| 15 | +Visualization is the better way to understand of the things |
| 16 | +``` |
| 17 | + |
| 18 | +## [Dsa visualization live 👈](https://raj-rathod.github.io/DSA-visualisation-in-angular/) |
| 19 | + |
| 20 | +_If you like this project, please leave me a star._ ★ |
| 21 | + |
| 22 | +## Merge Sort | Merge Sort Properties | Merge Sort Applications | Merge Sort Visualization | Merge Sort Complexity | Merge Sort Space Complexity |
| 23 | + |
| 24 | +### What is Merge Sort ? |
| 25 | + |
| 26 | +>The Merge Sort algorithm is a sorting algorithm that is based on the Divide and Conquer paradigm. In this algorithm, the array is initially divided into two equal halves and then they are combined in a sorted manner |
| 27 | +Think of it as a recursive algorithm continuously splits the array in half until it cannot be further divided. This means that if the array becomes empty or has only one element left, the dividing will stop, i.e. it is the base case to stop the recursion. If the array has multiple elements, split the array into halves and recursively invoke the merge sort on each of the halves. Finally, when both halves are sorted, the merge operation is applied. Merge operation is the process of taking two smaller sorted arrays and combining them to eventually make a larger one |
| 28 | + |
| 29 | +### Merge Sort Flowchart |
| 30 | +- mergeSort(arr[], left, right) |
| 31 | +- If right > left |
| 32 | +- Find the middle point to divide the array into two halves: middle m = left + (right – left)/2 |
| 33 | +- Call mergeSort for first half: mergeSort(arr, lrft, m) |
| 34 | +- Call mergeSort for second half: mergeSort(arr, m + 1, right) |
| 35 | +- Merge the two halves sorted merge(arr, left, m, right) |
| 36 | + |
| 37 | +<img src="https://github.com/raj-rathod/DSA-visualisation-in-angular/blob/main/src/assets/ds-image/merge-sort-flowchart.jpg?raw=true"> |
| 38 | + |
| 39 | +<br> |
| 40 | + |
| 41 | +### Merge Sort Example |
| 42 | + |
| 43 | +<br> |
| 44 | + |
| 45 | +<img src="https://github.com/raj-rathod/DSA-visualisation-in-angular/blob/main/src/assets/ds-image/merge-sort.jpg?raw=true"> |
| 46 | + |
| 47 | +## [Learn More About Merge Sort 👈](https://raj-rathod.github.io/DSA-visualisation-in-angular/) |
| 48 | + |
| 49 | + |
| 50 | +## Contributing |
| 51 | +Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. |
| 52 | +Please read the [Contribute guide](.github/CONTRIBUTING.md) |
| 53 | + |
| 54 | + |
| 55 | +## Connect with me ~Rajesh Rathore |
| 56 | + |
| 57 | +[](https://www.linkedin.com/in/rajesh-rathore-0501/) |
| 58 | +[](https://linktr.ee/rajesh_rathore) |
| 59 | +[](https://twitter.com/Rajesh946055) |
| 60 | +[](https://www.instagram.com/raj_rathod1313/?hl=en) |
| 61 | + |
| 62 | + |
| 63 | +***Do star, fork and share the repo to show your support, it would help others too!*** <br> |
| 64 | + <br> |
| 65 | + Let me know your views or any changes or improvements or contribute to make better for others |
| 66 | + |
| 67 | + :heart: ***Thank you all for Forking this repository and contribute*** :heart: |
0 commit comments