This document provides information on insertion sort, quicksort, and their time complexities. It describes how insertion sort works by dividing an array into sorted and unsorted parts, iterating through elements to insert them in the correct position. Quicksort chooses a pivot element and partitions the array into sub-arrays of smaller size, recursively sorting them. For worst-case complexities, insertion sort is O(n^2) while quicksort can also be O(n^2) if the array is already sorted. On average, insertion sort is still O(n^2) whereas quicksort has a lower complexity of O(nlogn).