<P> Many problems with bad worst - case performance have good average - case performance . For problems we want to solve, this is a good thing: we can hope that the particular instances we care about are average . For cryptography, this is very bad: we want typical instances of a cryptographic problem to be hard . Here methods like random self - reducibility can be used for some specific problems to show that the worst case is no harder than the average case, or, equivalently, that the average case is no easier than the worst case . </P> <P> On the other hand, some algorithms like hash tables have very poor worst case behaviours, but a well written hash table of sufficient size will statistically never give the worst case; the average number of operations performed follows an exponential decay curve, and so the run time of an operation is statistically bounded . </P> <Table> <Tr> <Th> Algorithm </Th> <Th> Data structure </Th> <Th> Time complexity: Best </Th> <Th> Time complexity: Average </Th> <Th> Time complexity: Worst </Th> <Th> Space complexity: Worst </Th> </Tr> <Tr> <Td> Quick sort </Td> <Td> Array </Td> <Td> O (n log (n)) </Td> <Td> O (n log (n)) </Td> <Td> O (n) </Td> <Td> O (n) </Td> </Tr> <Tr> <Td> Merge sort </Td> <Td> Array </Td> <Td> O (n log (n)) </Td> <Td> O (n log (n)) </Td> <Td> O (n log (n)) </Td> <Td> O (n) </Td> </Tr> <Tr> <Td> Heap sort </Td> <Td> Array </Td> <Td> O (n log (n)) </Td> <Td> O (n log (n)) </Td> <Td> O (n log (n)) </Td> <Td> O (1) </Td> </Tr> <Tr> <Td> Smooth sort </Td> <Td> Array </Td> <Td> O (n) </Td> <Td> O (n log (n)) </Td> <Td> O (n log (n)) </Td> <Td> O (1) </Td> </Tr> <Tr> <Td> Bubble sort </Td> <Td> Array </Td> <Td> O (n) </Td> <Td> O (n) </Td> <Td> O (n) </Td> <Td> O (1) </Td> </Tr> <Tr> <Td> Insertion sort </Td> <Td> Array </Td> <Td> O (n) </Td> <Td> O (n) </Td> <Td> O (n) </Td> <Td> O (1) </Td> </Tr> <Tr> <Td> Selection sort </Td> <Td> Array </Td> <Td> O (n) </Td> <Td> O (n) </Td> <Td> O (n) </Td> <Td> O (1) </Td> </Tr> </Table> <Tr> <Th> Algorithm </Th> <Th> Data structure </Th> <Th> Time complexity: Best </Th> <Th> Time complexity: Average </Th> <Th> Time complexity: Worst </Th> <Th> Space complexity: Worst </Th> </Tr>

The best-case behavior of insertion sort is ____