inserting pop testing the heap selection algorithms summary searching linear search unordered linear search ordered linear search binary search interpolation search choosing search algorithm summary sorting sorting algorithms bubble sort insertion sort selection sort quick sort list partitioning pivot selection implementation heap sort summary selection algorithms selection by sorting randomized selection quick select partition step deterministic selection pivot selection median of medians partitioning step summary design techniques and strategies classification of algorithms classification by implementation [