Searching and Sorting Topics Linear and Binary Searches Selection Sort Bubble Sort.
-
Upload
nancy-gibbs -
Category
Documents
-
view
221 -
download
0
Transcript of Searching and Sorting Topics Linear and Binary Searches Selection Sort Bubble Sort.
Objectives
At the completion of this topic, students should be able to:
Explain the difference between a linear and a binary searchWrite a linear search routineWrite a binary search routineWrite a bubble sort routine
Rules1. You may only talk to one person at a time2. You may only ask “How old are you?”3. The person must respond in years and months
Linear SearchexamScores
0
1
2
3
4
5
6
7
8
9
72
98
56
87
64
83
77
91
66
70
Problem: Determine which element in the arraycontains the score 87.
int thisOne = -1;
for (int index = 0; index < SIZE; index++){ if (examScores[index] == 87) thisOne = index;}
…
Binary Search
In general, a binary search is much, much faster than a linear search, but requires that the array be sorted.
examScores
72
98
87
64
83
77
91
66
70
Start in the middle
Is this the one you are looking for (87)?
If not, is this number smaller than 87?
In this case it is. Therefore, we can elminatethe entire bottom half of the array. Why?
Now try again, picking the middle of the remaining array elements.
Rules1. You may only talk to one person at a time2. You may only ask “How old are you?”3. Responses will be in years and months.4. You are only allowed to keep track of two people’s ages at any one time.5. You may only ask two people to switch places at this time.6. A person cannot move unless asked to.
Sorting
Sorting means to put data into some specified order.
There are many, many algorithms that have been developedto sort data. In this section we will mention two of them:
Selection Sort
Bubble Sort
Activity Diagram High Level View
Find lowest card in hand
Swap it with the left-most
card
Make the left-most card the card to the right of the current
left-most card
Is this the last card?
Find the lowest cardIn the set of cards to the right of the current left-most card
endyes
no
start