
基础算法
文章平均质量分 81
winoros
这个作者很懒,什么都没留下…
展开
-
对链表进行归并排序
C作业留了一个对链表进行排序的作业。手头会写的排序没几个。。。又不想用最简单的泡排,,,就尝试了用归并排序。对链表进行归并排序的有点麻烦的地方在于怎么找到链表的中间节点,由于链表不支持随机访问,所以这里是个比较蛋疼的地方。 最普通的方法就是先遍历一遍,测出链表的长度,然后再根据长度遍历到那个中间的位置。 后来围观同学的代码发现了个好方法。定义两个指针,开始时都指向表头(是指存有数据的表头,原创 2014-03-09 23:24:19 · 1439 阅读 · 5 评论 -
O(n)寻找数列第K小
期末考完了,博客继续更新原创 2014-06-29 22:52:00 · 987 阅读 · 0 评论 -
hdu1054 匈牙利算法(增广路) (附匈牙利算法模板)
嗯。。。。今天开始写博客。。。。大一过去一半了。。。希望下半年能有个好的开始吧先贴上百度百科里面对匈牙利算法的描述算法轮廓:⑴置M(这里M是图的一个子边集)为空⑵找出一条增广路径P,通过异或操作获得更大的匹配M’代替M⑶重复⑵操作直到找不出增广路径为止然后是网上搜到的一段算法的实现(网上的算法基本上原创 2014-02-06 15:14:56 · 1782 阅读 · 1 评论 -
poj 2352 一维树状数组
题目来源Ural Collegiate Programming Contest 1999 poj上的链接点这儿(这个是难得的1Y"o((>ω)下面放出题目 StarsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 29948 Accep原创 2014-04-01 12:37:27 · 827 阅读 · 0 评论 -
SGU 105 数学题or找规律
题目链接点这儿原创 2014-04-18 17:11:47 · 1034 阅读 · 0 评论 -
SGU 271 双端队列deque
题目来源ACM ICPC 2004-2005, NEERC, Southern Subregional Contest原创 2014-04-09 12:01:38 · 1000 阅读 · 0 评论 -
SGU 103 略复杂的单源最短路
题目链接点这儿原创 2014-04-16 18:07:21 · 958 阅读 · 0 评论 -
SGU 102 超级水题。。。
目测这题本意是要用欧拉函数的。。。但是。。。10000的数据量先打表交了一次()原创 2014-04-16 17:58:30 · 850 阅读 · 0 评论 -
SGU 101 欧拉路
101题目理解起来有点麻烦,不够原创 2014-04-15 17:37:01 · 900 阅读 · 0 评论 -
SGU 104 DP
题目链接点这儿顺便把原创 2014-04-16 18:16:51 · 823 阅读 · 0 评论 -
求解最小生成树的算法 kruskal算法(附模板)
今天来写一下最小生成树的两种的算法,毕竟能把东西完整的表述出来才是真正的理解了。首先是kruskal算法,这个算法的意思是先将边排序,然后从最小的边开始选取加入图中,如果加入这条边后出现了环(也就是这条边的两个端点都已经有边与之相连了),那么这时就破坏了生成树的性质, 所以就不选择这条边。这种选择一直进行到图中出现了一个生成树为止。算法正确性的证明:1)假设一颗最小生成树U,我原创 2014-03-15 12:57:28 · 1739 阅读 · 0 评论 -
图论求单源最短路 spfa算法(附模板)
今天我们来坑spfa_(:з」∠)_ SPFA shortest path faster algorithm 从字面理解就是比较快的最短路算法。这个算法可以看做是Bellman-Ford算法的队列优化(国际上一般不认可这个算法)。算法的过程与Bellman-Ford相比,并不是无脑的进行松弛操作。因为可以进行松弛的点只会是其前导顶点成功松弛的点。所以我们利用一个队列来储存松弛成功的原创 2014-03-17 18:19:24 · 1019 阅读 · 0 评论 -
求解最小生成树的算法 prim算法(附模板)
kruskal算法的链接 http://blog.youkuaiyun.com/winoros/article/details/21279967接下来是prim算法。prim算法和kruskal算法同样是贪心,不过贪心的思路不同。prim算法的步骤如下1)标记任意一个点。2)然后找一条边权最小的而且是一端被标记,另一端未被标记的边加进来。也就加入合法的最短边,然后将该边为被标记原创 2014-03-15 14:54:59 · 1714 阅读 · 0 评论