divide-and-conquer algorithm

algorithm design paradigm based on multi-branched recursion