算法
文章平均质量分 55
honpey
学生关注图像处理操作系统内核CC语言
展开
-
约瑟夫问题求解
约瑟夫问题:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Josephus要他原创 2011-10-24 00:58:51 · 1122 阅读 · 0 评论 -
程序设计竞赛网站集锦
(1)信息学初学者之家:http://oibh.ioiforum.org/(2)大榕树编程世界:http://www.fjsdfz.org/~drs/program/default.asp(3)中国教育曙光网:http://www.chinaschool.org/aosai/(4)福建信息学奥林匹克:http://www.cfcs.com.cn/fjas/index.htm(5)第转载 2013-07-11 21:28:39 · 1779 阅读 · 0 评论 -
红黑树边界条件设定
边界看似是算法的问题,但是数据结构有责任将自己的结构调优以简化算法对边界的判断。在红黑树中,为了便于考察边界条件,数据结构中会产生一个head节点(下图中左),该节点的parent指针为空,左右指针分别指向自己。当插入一个节点(root节点)之后,指针更新如下图所示:head节点与root节点通过parent指针互指,head节点的左右节点都指向root节点。这种结构有助于后来遍历等算法对边界原创 2013-04-16 22:06:39 · 594 阅读 · 0 评论 -
求数组中最长递增子序列
《编程之美》中题目,求数组中最长递增子序列。方法二中有个定义是让人一下子接受不了的:长度为N的递增子序列最大元素的最小值为MaxV[1]。什么叫做最大元素的最小值?解释如下:如下序列:4,2,3。这是最简单的一种情况,在遍历到2的时候,最长的两个子序列是(4)和(2),两个序列的长度均为1,那么当3到来的时候,形成了两个序列(4,3)和(2,3)。对于这两个子序列,当然我们只能选择(2,3)了原创 2013-04-22 00:06:28 · 488 阅读 · 0 评论 -
全排列算法的正确性证明
算法老师给了个苦逼的全排列的证明问题,霎时费心。现整理如下:分析以下生成排列算法的正确性和时间效率:(为方便测试,源代码附在最后) HeapPermute(n) //实现生成排列的Heap算法 //输入:一个正正整数n和一个全局数组A[1..n] //输出:A中元素的全排列原创 2011-10-25 15:54:37 · 2701 阅读 · 4 评论