摘要: 详情请见算法导论:P112 这个算法挺好用的,我们可以用它来证明之前提到过的“关于主定理的几点注记”中的那个结论。 阅读全文
posted @ 2020-03-04 15:42 一笑正中双飞翼 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 本随笔的目标主要在于解决两个多项式相乘得到新多项式的问题,我们举一个例子,A(x)是n-1次的,B(x)是n-1次,那么我们用C(x) = A(x) * B(x),如果要完整的求出C(x)的系数,采取暴力手段的话一般需要N^2的量级,希望在讲完这一章的内容之后,我们都可以知道怎么样在nlogn的复杂 阅读全文
posted @ 2020-03-02 11:47 一笑正中双飞翼 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 1、主定理并不能包含所有的递推情况,例如对于T(N) = 2T(N/2) + NlogN就没有落入主定理当中,需要采用递推树求解 2、主定理的第三种情况可以看成两个条件:1)f(N) = Ω(n^(logb(a) + e)),其中e>0对于充分大的成立,2)存在1 >c > 0,使得对于充分大的N, 阅读全文
posted @ 2020-02-28 20:00 一笑正中双飞翼 阅读(784) 评论(0) 推荐(0) 编辑
摘要: Easy and Hard Problems: NP完全理论是为了在可处理的问题和不可处理的问题之间画一条线,目前最重要的问题是是否这两者是本质不同的,而这个问题目前还没有被解决。典型的结果是一些陈述,比如“如果问题B有一个多项式时间的算法,那么C也会有一个多项式时间的算法”,或者逆否表述为“如果C 阅读全文
posted @ 2020-02-12 14:12 一笑正中双飞翼 阅读(418) 评论(0) 推荐(0) 编辑
摘要: Plane-Sweep: 平面扫描是二维的几何问题产生的算法范式。它的想法是用一条直线去扫描并且对于遇到的第一个数据进行处理。我们用这个想法解决三个问题:构造一些点的凸包,对凸包进行三角剖分,检测直线的交叉点。 首先介绍了凸包。设S是平面中给定两个坐标值的一系列点的集合,S的凸包记作convS,是S 阅读全文
posted @ 2020-02-08 17:40 一笑正中双飞翼 阅读(513) 评论(0) 推荐(0) 编辑
摘要: Geometric Graphs: 我们把一个图的边还原到了直觉中的曲线,来构造一个新的图。 首先提出了embedding的概念,由映射f: V -> R^2决定,要求V中不同的顶点映射到不同的点,曲线不自交,曲线形成的点只有V映射过来的点,两条曲线最多在端点处相交(意味着最多一个交点)。我们始终可 阅读全文
posted @ 2020-02-06 11:12 一笑正中双飞翼 阅读(262) 评论(0) 推荐(0) 编辑
摘要: Graph Search: 图的种类:最常用的是简单无向图,而且假设顶点始终是有穷多个。复杂图是指有环和平行边的图。我们称两个顶点是相邻的(不妨设u,v),如果(u,v)之间有一条边。 图的表示:有两种最流行的表示方式,第一种的用n^2的对称矩阵(元素为0或1)来表示,如果是0的话,代表顶点i,j之 阅读全文
posted @ 2020-02-03 19:36 一笑正中双飞翼 阅读(255) 评论(0) 推荐(0) 编辑
摘要: Heaps and Heapsort: 堆是一种快速访问最大优先级元素的数据结构,这是快速实现选择排序的基础,但是总体来说平均速度比快排要慢一点,不过其最坏情况和平均情况是差不多的。 首先是堆的定义,每个结点比它的孩子结点都小(所以父节点最小),或者每个结点都比它的孩子结点大(父节点最大),把A[1 阅读全文
posted @ 2020-02-03 11:06 一笑正中双飞翼 阅读(265) 评论(0) 推荐(0) 编辑
摘要: Binary Search Trees: BST树里首先讲了插入删除查找等操作,比较常规。查找:最差O(n),最好O(logn),平均O(logn);插入:成功的插入平均O(logn),最差也是O(n);删除里有三种情况,对于一次成功的删除,待删除的结点v的子结点个数只可能是0、1、2,如果是0的话 阅读全文
posted @ 2020-02-01 15:26 一笑正中双飞翼 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-01-29 18:39 一笑正中双飞翼 阅读(127) 评论(0) 推荐(0) 编辑