第六章 分治法.ppt

第6章 分治法 概述:算法概要、算法效率 折半查找 合并排序 快速排序 大整数乘法 Strassen 矩阵乘法 本章习题 概述 6.1 分治法基本思想(算法概要、算法效率) 分治法是著名的通用算法设计技术,很多非常有效的算法实际上是这个 通用算法的特殊实现。基本思想符合人们在解决复杂问题时,常常将其 从大到小逐步分解,进而将较易求解的小问题解合并得到原问题的解。 这即是“分治法”的分而治之的思想。 算法概要 1. 分解原问题规模为较小的子问题,子问题最好有相同规模; 2. 求解子问题;( 1 2 步“分解-求解”过程通常是递归的,直到子问题可简单求解为止) 3. 合并子问题的解,得到原问题的解(必要的话)。 分治算法概要描述 分治算法概要描述: 分治法应用的一个简例 6.2 分治算法设计的特点 分治法应用的一个简例:—— 查找最大元素 已知 S 有 n 个元素,求 S 的最大元素。不妨设 的整数。 本问题可设计多种算法,这里用分治法求解:每次将 S 一分为二,直到 分解到仅有2个元素的求解子集为止;求解算法是返回两元素之较大者。 分治法应用简例的过程图解 分治法应用简例的过程图解 已知: S = { 30, 11, 42, 22, 1, 55, 21, 43 } 有 n = 23 个元素; 求: S 的最

文档评论(0)

1亿VIP精品文档

相关文档