分治模板

def divide_conquer(problem, param1, param2, ...)
    #recursion terminator
    if problem is None:
        print_result
        return

    #prepare data
    data = prepare_data(problem)
    subproblems = split_problem(problem, data)

    #conquer subproblems
    subresult1 = self.divide_conquer(subprobles[0], p1, ...)
    subresult2 = self.divide_conquer(subprobles[1], p1, ...)
    subresult3 = self.divide_conquer(subprobles[2], p1, ...)
    ...

    #process and generate the final result
    result = process_result(subresult1, subresult2, subresult3, ...)

 

posted on 2021-03-02 22:23  成长的皮球  阅读(41)  评论(0编辑  收藏  举报