美文网首页
2. Divide-and-Conquer

2. Divide-and-Conquer

作者: MangoDai | 来源:发表于2017-09-18 19:54 被阅读0次

    Core

    1. 把一个大问题划分成诺干个子问题(子问题之间相互独立)
    2. 解决每个子问题
    3. 把每个子问题合并到一起

    Optimization Method

    1. Reduce the sub Question
      通过代数消除子问题的个数
      XY = ?
      X = A2^(n/2) + B
      Y = C2^(n/2) + D
      XY = AC2^(n/2) + (AD+BC)2^(n/2) + BD
      AD+BC = (A-B)(D-C) + AC + BD
      
      AC, BD 被复用
      时间复杂度从:
      c 是常数
      W(n) = 4W(n/2) + cn 
      W(n) = 3W(n/2) + cn
      
    2. Pretreatment before inner Recursion
      通过预处理减少内部的递归计算了,实际是空间换时间

    经典例题

    快速排序的实现

    相关文章

      网友评论

          本文标题:2. Divide-and-Conquer

          本文链接:https://www.haomeiwen.com/subject/wsobsxtx.html