算法实验分治与递归
发布时间
阅读量:
阅读量
1. 实验内容
基于分治与递归的原理构建二路归并排序算法
1.描述
分治策略主要包含两个方面:
1)划分(divide):通过递归方式处理更小规模的问题
2)整合(conquer):在获得子问题解的基础上,进一步构造出原问题的解
分治策略实施过程包括三个阶段:
1)分解(Divide):将初始问题拆解为多个规模较小、彼此独立且结构与原问题一致的子问题;
2)求解(Conquer):当子问题足够简单可以直接处理时,立即进行求解;若其仍较为复杂,则采用递归方法分别解决各个子问题;
3)组合(Combine):将所有子问题的求解结果综合起来,形成原始问题的整体解决方案。
2.实例
运用归并排序对一组数值进行由小到大的排序操作。
核心理念如下:
1.采用分割与整合的方式,将一个无序序列持续地划分为两个部分,直到每个序列仅包含一个元素,此时该序列自然为有序状态。随后,将两个仅含单个元素的有序序列合并为包含两个元素的有序序列,并持续执行此过程,最终得到一个完整的有序序列。
2.递归操作终止的前提是分割后的最小单元仅包含单个数字
2.算法流程图及说明

还没有任何评论哟~
