算法概论笔记 - 分治法

作者: 芥丶未央 | 来源:发表于2017-07-11 09:00 被阅读0次
  1. 将原问题分解为一组子问题,每个子问题都与原问题类型相同,但是比原问题的规模小
  2. 递归求解这些子问题
  3. 将子问题的求解结果恰当合并,得到原问题的解

分治算法更多地是使已经能在多项式时间内解决的问题求解得更快。

二进制乘法

假设x和y是两个n位二进制整数,我们将每个数都一分为二,每个数的左半部分和右半部分都是n/2位二进制数:

![](http://latex.codecogs.com/svg.latex?xy = (2^{n/2}x_L + x_R)(2^{n/2}y_L + y_R) = 2^nx_Ly_L + 2^{n/2}(x_Ly_R + x_Ry_L) + x_Ry_R)

此时,T(n) = 4T(n/2) + O(n),时间复杂度为O(n^2)

![](http://latex.codecogs.com/svg.latex?x_Ly_R + x_Ry_L = (x_L + x_R)(y_L + y_R) - x_Ly_L - x_Ry_R)

这时,T(n) <= 3T(n/2 + 1) + O(n),时间复杂度为 该二叉树至少包含有n!个叶节点(排列数目),因此这棵树的宽度至少是
其中基准v为5,指针l左侧l为比基准v小的数,而指针m左侧为不超过基准的数。当分割时遇到比基准小的数时,需要将

复根的理解如下:

插值TODO
写在最后
  • 立个Flag,TODO will be done some day。
  • 渣代码,且轻喷​:worried:​。

相关文章

  • 算法概论笔记 - 分治法

    将原问题分解为一组子问题,每个子问题都与原问题类型相同,但是比原问题的规模小 递归求解这些子问题 将子问题的求解结...

  • 《python算法教程》Day9 - 快速排序法

    这是《python算法教程》第9篇读书笔记,笔记的主要内容为快速排序法。 快速排序法简介 快速排序法运用分治法的方...

  • 分治法学习笔记——最近点对问题

    Divide and Conquer 分而治之——分治算法学习笔记 分治法适用情景 该问题的规模缩小到一定的程度就...

  • Divide and Conquer

    算法之 分治法 Divide and Conquer 分治法: 分治法的设计思想是:将一个难以直接解决的大问题,分...

  • 分治法,动态规划及贪心算法区别

    原文:分治法,动态规划及贪心算法区别 1.分治法 分治法(divide-and-conquer):将原问题划分成n...

  • [算法导论]归并排序

    时间复杂度 《算法导论》2.3.1 分治法。 归并排序采用了分治法的递归排序。分治法:分解子问题,解决子问题,合并...

  • 归并排序

    1、分治法 归并排序是完全遵循分治策略的排序算法。什么是分治法? 分治法,即将原问题分解为几个规模较小的子问题,递...

  • 算法导论第2.3章 - 分治算法

    分治算法 递归:算法一次或多次递归地调用其自身已解决紧密相关的若干子问题。这些算法遵循分治法的思想。 分治算法三个...

  • 《算法图解》NOTE 4 快速排序法

    这是《算法图解》的第四篇读书笔记,主要涉及快速排序法。 1.递归与分治法 快速排序法(quick sort)之所以...

  • Divide and Conquer

    算法学习之分治法(divide and conquer)

网友评论

    本文标题:算法概论笔记 - 分治法

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