Sei sulla pagina 1di 13

Sorting

Searching

Sorting and Searching


CS 11 - Introduction to Computer Programming I

Jan Michael C. Yap


janmichaelyap@gmail.com
Department of Computer Science
University of the Philippines Diliman

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

1 Sorting

2 Searching

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Topics

1 Sorting

2 Searching

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Bubble Sort

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Bubble Sort

Let list[1...n]
for (i from 1 to n - 1) {
for (j from n - 1 to i) {
if list[j] > list[j + 1] {
swap list[j] and list[j + 1]
}
}
}

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Insertion Sort

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Insertion Sort

Let list[1...n]
for (i from 2 to n) {
j = i
while ((j > 1) and (list[j - 1] > list[j])) {
swap list[j - 1] and list[j]
j--
}
}

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Topics

1 Sorting

2 Searching

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Linear search

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Linear search

SRSLY?

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Binary search

JMC Yap CS 11 - Sorting and Searching


Sorting
Searching

Binary search

Let list[1...n] be sorted from lowest to highest value


Let key be the value we want to search in the list
left = 1
right = n
while (left <= right) {
mid = (left + right) / 2
if (list[mid] == key) {
return mid
} else if (list[mid] < key) {
left = mid + 1
} else {
right = mid - 1;
}
}
return KEY_NOT_IN_LIST
JMC Yap CS 11 - Sorting and Searching
Sorting
Searching

END OF LESSON 10

JMC Yap CS 11 - Sorting and Searching

Potrebbero piacerti anche