600 likes | 634 Views
Chapter 7: Sorting (Insertion Sort, Shellsort). CE 221 Data Structures and Algorithms. T ext : Read Weiss, § 7 . 1 – 7 . 4. Preliminaries. Main memory sorting algorithms All algorithms are Interchangeable; an array containing the N elements will be passed.
E N D
Chapter 7: Sorting(Insertion Sort, Shellsort) CE 221 Data Structures and Algorithms Text: Read Weiss, § 7.1 – 7.4 Izmir University of Economics
Preliminaries • Main memory sorting algorithms • All algorithms are Interchangeable; an array containing the N elements will be passed. • “<“, “>” (comparison) and “=“ (assignment) are the only operations allowed on the input data : comparison-based sorting Izmir University of Economics
Contents Selection Sort Insertion Sort Shell Sort
CE 221 Selection Sort
Selection Sort Given the input in array a[N] below, compare a[i] to a[min].
Time Analysis of Selection Sort Comparisons: Exchanges: N
CE 221 Insertion Sort
Time Analysis Number of comparisions: Number of excahnges:
Effective Algorithms Shell Sort
Shell Sort Move entries more than one position at a time by h–sorting the array • Start at L and look at every 4th element and sort it • Start at E and look at every 4th ekement and sort it • Start at E and look at every 4th ekement and sort it • Start at A and look at every 4th ekement and sort it
Example: S O R T E X A M P L E Result: A E E L M O P R S T X
Shell Sort vs Insertion Sort • Insertion sort compares every single item with all the rest elements of the list in order to find its place, • Shell sort compares items that lie far apart. This makes smaller elements to move faster to the front of the list.
Insertion Sort Analysis • One of the simplest sorting algorithms • Consists of N-1 passes. • for pass p = 1 to N-1 (0 thru p-1 already known to be sorted) • elements in position 0 trough p(p+1 elements)are sorted by moving the element left until a smaller element is encountered. Izmir University of Economics
Insertion Sort - Algorithm N*N iterations, hence, time complexity = O(N2) in the worst case.This bound is tight (input in the reverse order). Number of element comparisons in the inner loop is p, summing up over all p = (1+2)+(1+3)+...+N-1 = Θ(N2). If the input is sorted O(N). Izmir University of Economics