• 算法图解学习笔记03:分而治之


     分而治之概念

      所谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解。

      步骤如下:

    1. 分解(Divide):将问题分解为同一类型的子问题;
    2. 治理(Conquer):递归地解决子问题;
    3. 合并(Combine):合并子问题的答案,得出原问题的答案。

    分而治之案例

      本案例是算法图解上的一个案例。现在你要分割一块土地,从中找出最大的正方形,找出的正方形可以全部分割该块土地

      下方是错误的分割方法

      所以现在就需要用分治方法递归的处理该问题(为什么?因为分治方法本身就是递归的),而递归首先就要确定基线!最容易处理的情况是,一条边的长度是另一条边的整数倍。

       所以,现在的问题就剩下如何将问题分解

      具体编程的案例可见下篇博文——求最大公共子序列

  • 相关阅读:
    立即执行函数
    函数 闭包
    函数 预编译
    函数
    函数
    变量作用域
    保留字
    JavaScript 中的 算术运算
    图片上传效果
    HTML标签,元素类型 概览
  • 原文地址:https://www.cnblogs.com/vi3nty/p/9406075.html
Copyright © 2020-2023  润新知