12 original exam-style questions - 10 pages of questions with a full mark scheme - free printable PDF.
FUNCTION LinearSearch(stock, target) RETURNS INTEGER
FOR i <- 0 TO LEN(stock) - 1
IF stock[i] = target THEN
RETURN i
ENDIF
NEXT i
RETURN -1
ENDFUNCTION| i | stock[i] | stock[i] = target? |
|---|---|---|
| 0 | ||
| 1 | ||
| 2 | ||
| 3 | ||
| 4 |
FUNCTION BinarySearch(numbers, target) RETURNS INTEGER
low <- 0
high <- LEN(numbers) - 1
WHILE low <= high
mid <- (low + high) DIV 2
IF numbers[mid] = target THEN
RETURN mid
ELSE IF numbers[mid] < target THEN
low <- ______
ELSE
high <- ______
ENDIF
ENDWHILE
RETURN -1
ENDFUNCTION| low | high | mid | numbers[mid] | result of comparison |
|---|---|---|---|---|
PROCEDURE BubbleSort(list)
n <- LEN(list)
DO
swapped <- FALSE
FOR i <- 0 TO n - 2
IF list[i] > list[i + 1] THEN
temp <- list[i]
list[i] <- list[i + 1]
list[i + 1] <- temp
swapped <- TRUE
ENDIF
NEXT i
n <- n - 1
UNTIL swapped = FALSE
ENDPROCEDURE| pass | list at end of pass | swapped | n |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 |
FUNCTION InsertionSort(list)
FOR i <- 1 TO LEN(list) - 1
current <- list[i]
j <- i - 1
WHILE j >= 0 AND list[j] > current
______
j <- j - 1
ENDWHILE
list[j + 1] <- current
NEXT i
ENDFUNCTION| i | current | list at end of this iteration |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 |
FOR i <- 0 TO n - 1 OUTPUT list[i] NEXT i
FOR i <- 0 TO n - 1
FOR j <- 0 TO n - 1
OUTPUT list[i] + list[j]
NEXT j
NEXT icount <- n WHILE count > 1 count <- count DIV 2 OUTPUT count ENDWHILE
FOR i <- 0 TO n - 1
low <- 0
high <- n - 1
WHILE low <= high
mid <- (low + high) DIV 2
...
ENDWHILE
NEXT i| Algorithm | Worst-case time complexity |
|---|---|
| Linear search | |
| Binary search | |
| Bubble sort | |
| Insertion sort | |
| Merge sort |
FUNCTION FindInsertPosition(titles, newTitle) RETURNS INTEGER
low <- 0
high <- LEN(titles) - 1
WHILE low <= high
mid <- (low + high) DIV 2
IF titles[mid] = newTitle THEN
RETURN mid
ELSE IF titles[mid] < newTitle THEN
low <- mid + 1
ELSE
high <- mid - 1
ENDIF
ENDWHILE
RETURN low
ENDFUNCTION