Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are...

17
Selection Sort

Transcript of Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are...

Page 1: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Selection Sort

Page 2: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Selection Sort

j = k - 1

Page 3: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Quiz Question #4How many passes are needed to sort a list of 3 elements? 4 elements? n elements?

A. n-1 passes 1 pt 39% Before starting, howB. n passes many elements inC. n+1 passes the sorted list?D. n/2 passes 58%E.(n-1)/2 passeswhere the remainder is discarded in D and E.

lklklklk

Page 4: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Bubble Sort - textbook version

1st pass23 | 78 | 45 | 8 | 32 | 5623 | 78 | 45 | 8 | 32 | 5623 | 78 | 45 | 8 | 32 | 5623 | 78 | 8 | 45 | 32 | 5623 | 8 | 78 | 45 | 32 | 56 8 | 23 | 78 | 45 | 32 | 56

swap?

swap?

swap?

swap?

swap?

Page 5: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Bubble Sort

How many passes would be required if 78 were originally first?

Page 6: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Bubble Sort

j = k - 1

Bubble up to the top/front.

Page 7: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Bubble Sort - classic version

1st pass23 | 78 | 45 | 8 | 32 | 5623 | 78 | 45 | 8 | 32 | 5623 | 45 | 78 | 8 | 32 | 5623 | 45 | 8 | 78 | 32 | 5623 | 45 | 8 | 32 | 78 | 5623 | 45 | 8 | 32 | 56 | 78

swap?

swap?

swap?

swap?

swap?

Page 8: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

The Bubble Sort - classic version

originally 23 | 78 | 45 | 8 | 32 || 56after 1st pass 23 | 45 | 8 | 32 || 56 | 78after 2nd pass 23 | 8 | 32 || 45 | 56 | 78after 3rd pass 8 | 23 || 32 | 45 | 56 | 78after 4th pass 8 || 23 | 32 | 45 | 56 | 78after 5th pass 8 | 23 | 32 | 45 | 56 | 78

Page 9: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

The Bubble Sort - classic version#define NUMDATA 10...void bubbleSort(int x[]){ int passNum; //PASS NUMBER int lcv; int temp; for (passNum = 1; passNum < NUMDATA; passNum++) { ...// bubble up x[0], x[1], ..., x[NUMDATA - passNum] }}

Page 10: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

The Bubble Sort - classic version#define NUMDATA 10...void bubbleSort(int x[]){ int passNum; //PASS NUMBER int lcv; int temp; for (passNum = 1; passNum < NUMDATA; passNum++) { for (lcv = 0; lcv < NUMDATA - passNum; lcv++) { ... // swap x[lcv], x[lcv + 1] if out of order } }//END for passNum}

Page 11: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Searching to find a known target in an array: FIGURE 8-28

Page 12: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Searching when the target is not found in the array: FIGURE 8-29

Page 13: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Searching Program #1#define ARRAYSIZE 10#define NOTFOUNDERROR -1...int searchArray(int x[], int n){ int lcv; int index = NOTFOUNDERROR; for (lcv = 0; lcv < ARRAYSIZE; lcv++) { if (x[lcv] == n) { index = lcv;

lcv = ARRAYSIZE; What does this statement accomplish? } an early exit from the loop } return index;}...

Page 14: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Quiz Question #1Suppose that after one pass of a bubble sort (textbook version) we have 1 21 | 13 8 5 3 2where | separates the sorted from the unsorted list. What is the result after the next pass?

A. 1 2 13 8 5 3 21B. 1 2 21 13 8 5 3 1 ptC. 1 13 8 5 3 2 21D. 1 13 21 8 5 3 2

lklklklk

Page 15: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Quiz Question #2Suppose that after one pass of an insertion sort we have 13 21 | 8 5 3 2 1where | separates the sorted from the unsorted list. What is the result after the next pass?

A. 8 13 21 5 3 2 1 1 ptB. 13 1 8 5 3 2 21C. 13 1 21 8 5 3 2D. 13 8 5 3 2 1 21

lklklklk

Page 16: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Quiz Question #3Suppose that after one pass of a bubble sort (classic version) we have 13 8 5 3 2 | 1 21where | separates the sorted from the unsorted list. What is the result after the next pass?

A. 1 8 5 3 2 13 21 1 ptB. 1 13 8 5 3 2 21C. 8 5 3 2 1 13 21 v/ 1 ptD. 13 8 5 3 1 2 21

lklklklk

Page 17: Selection Sort - cs.purdue.edu · Selection Sort j = k - 1. Quiz Question #4 How many passes are needed to sort a list of 3 elements? 4 elements? n elements? A. n-1 passes 1 pt 39%

Quiz Question #4//bubble sort - classic versionint x[5] = {7, 5, 9, 2, 3};int passNum; //PASS NUMBERint lcv;int temp;for (passNum = 1; passNum < 5; passNum++){ for (lcv = 0; lcv < ___________; lcv++) { if (x[lcv] > x[lcv + 1]) { temp = x[lcv]; x[lcv] = x[lcv + 1]; x[lcv + 1] = temp; } }//END for lcv}//END for passNum

Fill in the blank.A. 5B. 5 - passNum 1 ptC. passNumD. 4

lklklklk