算法
文章平均质量分 82
Crazy_Frog
这个作者很懒,什么都没留下…
展开
-
排序基本算法
快速排序快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。步骤为:从数列中挑出一个元素,称为 "基准"(pivot),重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分割结束之后,该基准就处于数列的中间位置。这个称为分割(partit原创 2012-03-19 08:32:02 · 553 阅读 · 0 评论 -
通过金矿模型介绍动态规划
对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出,谢谢! ----第一节----初转载 2012-04-11 20:33:56 · 1421 阅读 · 0 评论 -
HDU 1026 Ignatius and the Princess I
难缠的搜索题,花了好长时间才做出来。。。原先一直WA是因为没用优先队列……Problem DescriptionThe Princess has been abducted by the BEelzebub feng5166, our hero Ignatius has to rescue our pretty Princess. Now he gets into feng5166原创 2012-04-09 09:26:07 · 567 阅读 · 0 评论 -
HDU 1010 Tempter of the Bone
这是一道搜索+回溯的题目。。依旧很坑爹……让我感受到人生无处不坑爹。话说收获最大的是通过这道题学到了剪枝技巧,刚开始做完了是TLE的。然后上网搜索,学了“奇偶剪枝”,剪枝后快了几千倍的速度。。真让人汗颜。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010附上额外测试数据:2 2 3D.原创 2012-04-12 19:18:03 · 488 阅读 · 0 评论 -
DFS(深搜)例题 解题与心得
走迷宫【问题描述】有一个m*n格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这m*n个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你分别编程4个程序解决以下4个问题。问题1:找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相原创 2012-03-23 15:51:43 · 7879 阅读 · 1 评论 -
About 位运算
位运算应用口诀和实例 位运算应用口诀 清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算符,右边的位被转载 2012-05-05 09:35:40 · 382 阅读 · 0 评论 -
KMP算法
昨晚一直在啃KMP,总算是对这个久仰的算法有了大概的了解。KMP(字符串匹配)算法对于初学者来说肯定是一块难啃的骨头(这个比喻真无聊=_=)为了理解这个精妙的算法,我参考了以下博客:http://www.matrix67.com/blog/archives/115 matrix67大牛的KMP讲解,在网上看KMP的基本都看过吧。。。http://chaoswork.com/原创 2012-04-20 10:34:00 · 567 阅读 · 0 评论 -
A*算法解决八数码问题
昨天啃了一阵子,终于啃下了大名鼎鼎的A*(AStar)算法。A*跟BFS(宽度优先搜索)非常相似,只是多了一个启发函数跟结点的实时判断。而A*算法的重点也就是启发函数,而且这没有固定的模版或者套路,完全看个人的设计能力。其他的并不难。参考了 http://hi.baidu.com/catro/item/4782da1769edbd721109b5e9和 ht原创 2013-02-19 11:48:48 · 1616 阅读 · 0 评论