Summary
In this chapter, we discussed two important methods to find the kth smallest element in a list, randomized selection and deterministic selection algorithms. The simple solution of merely sorting a list to perform the operation of finding the kth smallest element is not optimal as we can use better methods to determine the kth smallest element. The quickselect algorithm, which is the random selection algorithm, divides the list into two sublists. One list has smaller values, and the other list has greater values as compared to the selected pivot element. We reclusively use one of the sublists to find the location of the kth smallest element, which can be further improved by selecting the pivot point using the median of medians method in the deterministic selection algorithm.
In the next chapter, we will discuss several important string matching algorithms.