算法设计
柳泉_2000
这个作者很懒,什么都没留下…
展开
-
算法设计练习题——网络流问题
1.将每个拐角作为网络流的节点,如果拐角u和v之间有路径,则有(u,v)和(v,u)的两条边。每条有向边容量为1(代表每条边只允许通过最多1个人)。顶点s为教授家,重点v为学校。找从u到v的最大流,如果能找到最大流为2,则说明可以上同一所学校2. 匹配问题,边容量为1,找到一个最大流,即经过所有顶点的最短路径覆盖问题3. 构造图G=(V,E)其中V={s,x1,x2,…xn}∪{y1,y2,…yn,t}E={(s,xi)|i=1,2,3,…n}∪{(yi,t)}∪{(xi,yi)|i!=j}原创 2020-07-23 22:51:53 · 334 阅读 · 0 评论 -
算法设计:网络流——最大流,最小割
学习的时候对流,割,最大流,最小割,增广路径理解的不好,下面这个文章讲解的十分通俗,https://www.cnblogs.com/Booble/archive/2011/03/04/1970453.html转载 2020-07-23 20:18:50 · 174 阅读 · 0 评论 -
算法设计练习题——平摊分析
对某个数据结构执行大小为 n 的一个操作序列,若 i 为 2 的整数幂,则第 i 个操作的代价 为 i,否则为 1。请利用会计方法分析每次操作的平摊代价对i不是2的整数幂,平摊代价为3.1支付本操作1在序列中本位置自身存款1在序列中第一个没有存款的数据点进行存款对i是2的整数幂,平摊代价为0,通过存款支付实际代价和平摊代价的差值。可以保证存款非负则总的平摊代价为3n,每次操作平台代价为3Bill 提出了一种叫做翻转堆栈的数据结构,翻转堆栈只支持 Flipping-Push() 函数。在..原创 2020-07-23 11:32:51 · 1989 阅读 · 0 评论 -
算法设计练习题——搜索
乔治拿来一组等长的木棒。将它们随机地砍断。使得每一节木棍的长度都不超过50个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个算法,求解木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。输入k个木棍,A【1:k】为各个木棍长度,且按照从大到小排序。木棒长度最小,即木棒个数最大。设木棒个数为i,则1<=i<=k/2.因为一个木棒至少变为2个木棍n=A1+A1+…+AK即所有木棒总长度则i需要是n的因子。从k/2-&g..原创 2020-07-22 23:25:28 · 430 阅读 · 0 评论 -
算法设计练习题——贪心法
设x1, x2, …., xn是实数轴上的n个点,尝试用单位长度的闭区间覆盖这些点,设计贪心算法求解需要多少单位长度闭区间?贪心选择性:将n个点按照坐标从小到大排序,则第一个点y1构成的区间[y1,y1+1]一定包含在某个优化解中优化子结构:设一个优化解为T,则T’=T-[y1,y1+1]为X’=X-{y1}∪{yi|yi-y1<=1}的优化解设有n个物品,第i个物品的价值是vi、重量是wi, 假设物品可以任意分割,给定一个背包,其能容纳最大重量为C,求该背包能容纳物品的最大价值。要求写..原创 2020-07-22 21:24:42 · 682 阅读 · 0 评论 -
算法设计练习题——动态规划
1.满足递归式F(n)=F(n-1)+F(n-2)和初始值F(0)=F(1)=1的数列称为斐波那契数列。考虑如何计算该数列的第n项F(n)。(1)说明根据递归式直接完成计算,将有子问题重复求解;(2)说明该问题具有优化子结构;(3)写出求解F(n)的动态规划算法,并分析算法的时间复杂性。(1)n为5时,要计算 F(4),F(3); F(3),F(2);F(2),F(1) F(2),F(1)。 重复计算(2)优化子结构为:如果F(n)为第n项的斐波那契数,则F(n-1),F(n-2)分.原创 2020-07-21 23:30:12 · 1363 阅读 · 0 评论 -
算法设计练习题——分治法(2)
1 、设计一个“三路归并”的排序算法,并分析它的时间复杂性。每3个一组,共n/3组,每组比较3次。类比二路归并。即3叉树倒过来。 T(n) = 0 n==1 T(n) = 1 n==2 T(n) = 3 n ==3 T(n) = 3T(n/3) + O(n) -------最后一层 T(n) = O(nlogn) 2、 逆序对数求解:有长度为N的浮点数组A,元素分别为a1, a2, …, aN。如果满足i<j且ai>aj,则(ai, aj)构成一个逆.原创 2020-07-20 19:34:18 · 639 阅读 · 0 评论 -
P,NP,NPC,NPH问题
很好的讲P,NP,NPC,NPH问题博客其中NPH解释要修改:NPH:我们又叫NP难问题,他不是一个NP问题,但所有的NP问题都可以在多项式时间内转化为他的话,我们就叫他NPH(hard)问题 https://blog.csdn.net/databatman/article/details/49304295?depth_1-utm_source=distribute.pc_relevan...原创 2020-03-19 15:24:27 · 478 阅读 · 0 评论 -
算法设计练习题(1)——分治法
1、 给定一个数组A,任务是设计一个算法求得数组中的“主元素”,即在数组中个数超过数组总元素个数一半的元素。但是数组中元素的数据类型可能是复杂类型,这意味着数组中的元素进能够比较是否相等而不存在序关系,设对于两个元素A[i]和A[j],判定是否A[i]=A[j]需要常数时间。(1) 设计一个时间复杂性为O(n log n)的算法解此问题(2) 设计一个时间复杂性为O(n)的算法解此问题....原创 2020-03-05 08:39:54 · 6963 阅读 · 6 评论