Counting Sort 1

Comparison Sorting Quicksort usually has a running time of n x log( n ) , but is there an algorithm that can sort even faster? In general, this is not possible. Most sorting algorithms are comparison sorts, i.e. they sort a list just by comparing the elements to one another. A comparison sort algorithm cannot beat n x log( n ) (worst-case) running time, since n x log( n ) represents the minimum number of comparisons needed to know where to place each element. For more details, you can see thes

View Solution →

Counting Sort 2

Often, when a list is sorted, the elements being sorted are just keys to other values. For example, if you are sorting files by their size, the sizes need to stay connected to their respective files. You cannot just take the size numbers and output them in order, you need to output all the required file information. The counting sort is used if you just need to sort a list of integers. Rather than using a comparison, you create an integer array whose index range covers the entire range of val

View Solution →

The Full Counting Sort

Use the counting sort to order a list of strings associated with integers. If two strings are associated with the same integer, they must be printed in their original order, i.e. your sorting algorithm should be stable. There is one other twist: strings in the first half of the array are to be replaced with the character - (dash, ascii 45 decimal). Insertion Sort and the simple version of Quicksort are stable, but the faster in-place version of Quicksort is not since it scrambles around eleme

View Solution →

Closest Numbers

Sorting is useful as the first step in many different tasks. The most common task is to make finding things easier, but there are other uses as well. In this case, it will make it easier to determine which pair or pairs of elements have the smallest absolute difference between them. Note As shown in the example, pairs may overlap. Given a list of unsorted integers, arr , find the pair of elements that have the smallest absolute difference between them. If there are multiple pairs, find

View Solution →

Find the Median

The median of a list of numbers is essentially its middle element after sorting. The same number of elements occur after it as before. Given a list of numbers with an odd number of elements, find the median? Function Description Complete the findMedian function in the editor below. findMedian has the following parameter(s): int arr[n]: an unsorted array of integers Returns int: the median of the array Input Format The first line contains the integer n, the size of arr. T

View Solution →