結果 : algorithmic techniques divide and conquer examples randomization applications