算法
文章平均质量分 57
yongf2014
代码改变世界
展开
-
Prim算法和Kruskal算法
设G=(V,E)是连通带权图,V={1,2,,,,.n}.构造G的最小生成树S的Prim算法和Kruskal算法Prim算法:首先置S={1},然后,只要S是V的真子集,就做如下的贪心选择:选取满足条件i属于S,j属于V-S,且c[i][j]最小的边,并将顶点j添加到S中.这个过程一致进行到S=V时为止.在这个过程中选取到的所有边恰好构成G的一颗最小生成树Krusk原创 2015-06-02 16:35:13 · 585 阅读 · 0 评论 -
图解快速排序算法
算法的精髓在于,跟它一比高数也显得那么生动活泼…。本文由啊哈磊吐槽而成,话说我还是头一次见到这么萌的变量,简直颠覆我对变量这个兵种、对算法这个种族的传统观念。正在被算法欺负吗?快进来看看:http://developer.51cto.com/art/201403/430986.htm转载 2015-07-07 14:54:46 · 1046 阅读 · 0 评论 -
字符串匹配的 KMP 算法
字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。 这种算法不转载 2015-05-23 20:00:45 · 551 阅读 · 0 评论 -
生产者-消费者问题
问题描述有一群生产者进程在生产产品,并将这些产品提供给消费者进程去消费.为使生产者进程与消费者进程能并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区中;消费者进程可以从一个缓冲区中取走产品去消费。问题的解?代码用一个指针in来指示下一个可利用的空缓冲区,用一个指针out来表示下一个可利用的满缓冲区。代码如下:int in=0,out=0;void pr原创 2015-06-14 18:54:14 · 7726 阅读 · 0 评论 -
证明SJF(Shortest Job First:最短作业优先算法)策略生成的调度方案理论最优
题目:若被调度进程集合恒定,考察指标为平均周转时间,试证明SJF策略生成的调度方案理论最优证明:假设被调度进程集合有n个元素.对这n个进程的任意排列{P0,P1,P2,...,Pn-1},便是一种调度方案.设T1为任意进程调度方案产生的平均周转时间,注意:此处T1是值不确定的!T1=[M0+(M0+M1)+...+(M0+M1+...+Mn-1)]/n;Mi是第原创 2015-06-01 23:55:56 · 4230 阅读 · 0 评论 -
关于取火柴棒问题取胜方法的一些思考(简述)
取火柴棒游戏的问题叙述:桌上有n根火柴棒,甲乙两人按照如下规则轮流取走这些火柴棒:1.每次只允许取走1~2根火柴棒;2.最后一次取走火柴棒的人获胜;取胜方法:若甲先取,且甲想要取胜,那么可以考虑如下一种策略(我们姑且就称之为策略A吧):甲先取,之后乙取,若乙取1个火柴棒,那么之后甲就取2个火柴棒;若乙取2个火柴棒,则甲取1个火柴棒,总之就是保证甲+乙=3,那原创 2015-05-29 14:52:39 · 17528 阅读 · 1 评论