Waiting for answer This question has not been answered yet. You can hire a professional tutor to get the answer.

QUESTION

Algorithm Development Discussion

Part 1: Sorting Methods

Sorts are used every day in many applications.

  • Discuss when you would use a sort and what kind of sort you would use for a given situation.
  • Reply to others with support for or arguments against their proposal of sort usage and implementation.

Part 2: Respond to two peer posts

Peer 1 David

There are several types of sorting algorithms. I have used many of them over the years. A good example is to think about a binary search. For a binary search to work the array or list must be sorted. If you are given an unsorted list or if you are not sure if the list is sorted or not, a sorting algorithm is needed. Which sorting algorithm to use in this situation is mainly up to you. You should use a merge sort or insertion sort because of their speed but a bubble sort or selection sort still work. Bubble sort is one of the slowest sorting algorithms but it is the easiest one to code. It can be done with two for loops whereas the other sorting algorithms are more complex but are faster.

Peer 2 Toni

Quick sort: would be used when you don't need a stable sort and average case performance matters more than worst case performance. A quick sort is O(N log N) on average, O(N^2) in the worst case.

Merge sort: is used when you need a stable, O(N log N) sort, this is about your only option. The only downsides to it are that it uses O(N) auxiliary space and has a slightly larger constant than a quick sort.

Heap sort: is used when you don't need a stable sort and you care more about worst case performance than average case performance. It's guaranteed to be O(N log N), and uses O(1) auxiliary space.

Introsort: This is a quick sort that switches to a heap sort after a certain recursion depth to get around quick sort's O(N^2) worst case. It's almost always better than a plain old quick sort.

Insertion sort: When N is guaranteed to be small, including as the base case of a quick sort or merge sort. While this is O(N^2), it has a very small constant and is a stable sort.

Bubble sort, selection sort: When you're doing something quick and dirty and for some reason you can't just use the standard library's sorting algorithm.

Show more
LEARN MORE EFFECTIVELY AND GET BETTER GRADES!
Ask a Question