3.1 分治法介绍及关键点解析

Chapter3: 更好的查找与排序算法

1. 分治法介绍及关键点解析

什么是分治法

基本思想

将原问题划分为若干个规模较小而结构与原问题一致的子问题,递归地解决这些问题,然后再合并其结果,就得到原问题的解

优点

容易确定运行时间

每一层递归上都有的3个步骤

  • 分解:将原问题分解成一系列子问题
  • 解决:递归地解各子问题,若子问题足够小,则直接有解
  • 合并:将子问题的结果合并成原问题的解

使用分治法的问题的关键特点

  • 原问题可以一直分解为形式相同的子问题,当子问题规模较小时,可以自然求解,如一个元素本身有序
  • 子问题的解通过合并可以得到原问题的解
  • 子问题的分解及解的合并一定是比较简单的,否则分解和合并所花的时间可能超过暴力解法,得不偿失

你可能感兴趣的:(3.1 分治法介绍及关键点解析)