Skip to content

Added wave sort a new sorting technique #11538

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

Thebinary110
Copy link

Wave Sort Algorithm
Wave Sort is a novel sorting algorithm designed to sort an array by creating a wave-like pattern. The algorithm divides the array into two halves recursively, sorts each half, and then merges them in a way that alternates between larger and smaller elements, creating a wave-like structure.

How It Works:
Divide: The array is recursively divided into two halves.
Sort: Each half is sorted individually.
Wave Shuffle: The sorted halves are then merged in a wave pattern by alternating elements from the left and right halves.
Wave Merge: The algorithm ensures that the final array follows a wave pattern where each element alternates between being greater and less than its neighboring elements.
Final Sorting Pass: A final insertion sort pass ensures that the wave structure is maintained while sorting the array.
Time Complexity:
The worst-case time complexity of the Wave Sort algorithm is 𝑂(𝑛2)

However, due to the wave merging process, the algorithm can perform better on nearly sorted arrays.
Space Complexity:
The space complexity is 𝑂(𝑛)
O(n) due to the additional space required for the auxiliary array and the recursion stack.
Applications:
Wave Sort can be useful in scenarios where a specific wave-like pattern is desired in the sorted data, such as in certain data visualizations or specialized sorting tasks.

@algorithms-keeper
Copy link

Closing this pull request as invalid

@Thebinary110, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines.

If you're facing any problem on how to mark a checkbox, please read the following instructions:

  • Read a point one at a time and think if it is relevant to the pull request or not.
  • If it is, then mark it by putting a x between the square bracket like so: [x]

NOTE: Only [x] is supported so if you have put any other letter or symbol between the brackets, that will be marked as invalid. If that is the case then please open a new pull request with the appropriate changes.

@algorithms-keeper algorithms-keeper bot closed this Sep 3, 2024
@algorithms-keeper algorithms-keeper bot added the awaiting reviews This PR is ready to be reviewed label Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting reviews This PR is ready to be reviewed invalid
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant