Common design patterns for algorithms include - [[divide-and-conquer]] - incremental method - [[randomness]] - deterministic