Selection sort efficiency CORRECT ANS-If a list has N elements, the outer loop executes N
times. For each of those N outer loop executions, the inner loop executes an average of N/2
times. So the total number of comparisons is proportional to N * (N/2), or O(N^2)
Selection sort (python) CORRECT ANS-# replace "^\.+" with space
def SelectionSort(numbers):
....for idx in range(len(numbers)):
........min_idx = idx
........for comp in range(idx+1, len(numbers)):
............if numbers[min_idx] > numbers[comp]:
................min_idx = comp
........temp = numbers[idx]
........numbers[idx] = numbers[min_idx]
........numbers[min_idx] = temp
if __name__ == "__main__":
....numlist = [ 99, 77, 33, 55, 11 ]
....print("Before: " + str(numlist))
....SelectionSort(numlist)
....print("After: " + str(numlist))
Binary search (python) CORRECT ANS-# replace "^\.+" with space
def BinarySearch(num, numbers):
....low = 0
....high = len(numbers) - 1
....mid = 0
....while low <= high:
........mid = (high + low) // 2
, WGU C949 - Searching and Sorting Algorithms- Qs & As
........if numbers[mid] < num:
............low = mid + 1
........elif numbers[mid] > num:
............high = mid - 1
........else:
............return mid
....return -1
if __name__ == "__main__":
....numlist = [ 11, 33, 55, 77, 99 ]
....for val in (11, 22, 55, 88, 99):
........print(f"Index of {val}: {BinarySearch(val, numlist)}")
Binary search CORRECT ANS-A faster algorithm for searching a list if the list's elements are
sorted and directly accessible (such as an array). Binary search first checks the middle element
of the list. If the search key is found, the algorithm returns the matching location. If the search
key is not found, the algorithm repeats the search on the remaining left sublist (if the search
key was less than the middle element) or the remaining right sublist (if the search key was
greater than the middle element).
Binary search efficiency CORRECT ANS-For an N element list, the maximum number of
steps required to reduce the search space to an empty sublist is [ log2 N ] + 1
Selection sort CORRECT ANS-Sorting algorithm that treats the input as two parts, a sorted
part and an unsorted part, and repeatedly selects the proper next value to move from the
unsorted part to the end of the sorted part.
Insertion sort CORRECT ANS-The list is split into a sorted half and unsorted half. Values
from the unsorted part are picked and placed at the correct position in the sorted part (left)
by shifting all the elements towards the right (unsorted portion).