算法 algorithm
chaosllgao
这个作者很懒,什么都没留下…
展开
-
24点游戏
From: http://blogger.org.cn/blog/more.asp?name=njucs&id=3772 数字游戏题解 by starfish [说明:此文改编自我写的一篇解题报告,原题是某年国家集训队组队赛题目] 问题描述 80年代全世界流行一种数字游戏,在中国我们把这种游戏称为“24点”。现在我们 把这个有趣的游戏推广一下:您作为游戏者将得到6个不同的自然数作为操作数转载 2009-05-21 13:21:00 · 849 阅读 · 0 评论 -
Point-In-Polygon Algorithm — Determining Whether A Point Is Inside A Complex Polygon
From: http://alienryderflex.com/polygon/Point-In-Polygon Algorithm — Determining Whether A Point Is Inside A Complex Polygon© 1998,2006,2007 Darel Rex Finley. This complete article, unmodifie转载 2011-11-05 13:04:41 · 1562 阅读 · 0 评论 -
任意给一个数,试证明这个数的某个倍数的十进制表示是01串
From: http://topic.csdn.net/u/20120510/12/10a50d29-be19-493e-87c7-990cae86a9ee.html?82352From:http://blog.csdn.net/hackbuteer1/article/details/7581306任意给一个数,试证明这个数的某个倍数的十进制表示是01串,比如3的倍数111是二进制转载 2012-08-08 16:25:31 · 827 阅读 · 0 评论 -
找出数组中两个只出现一次的数字
From: http://blog.csdn.net/hackbuteer1/article/details/68892176、有N+2个数,N个数出现了偶数次,2个数出现了奇数次(这两个数不相等),问用O(1)的空间复杂度,找出这两个数,不需要知道具体位置,只需要知道这两个值。 求解:如果只有一个数出现过奇数次,这个就比较好求解了,直接将数组中的元素进行异或,异或的结果就转载 2012-08-09 15:58:16 · 839 阅读 · 0 评论 -
关于最小的k个数的讨论(top-k问题)
From: http://blog.csdn.net/pennyliang/article/details/4642641给定一个长度为n的序列,不妨设为L1,L2,L3,….,Ln。这个序列可以是任意一种排列,可能的排列有n!种,我们要找到最小的k个数,即找到这样的k个数{ Li(1),Li(2),Li(3)…,Li(k)},并满足Li(1) 例如:有这样一个长度为8的序列{1转载 2013-02-11 22:18:31 · 436 阅读 · 0 评论 -
高效计算Fibonacci数
From: http://blog.csdn.net/jcwkyl/article/details/3677747以前只知道使用递归或递推的方法,最近在CSDN论坛上学到一种新的解法,在自己所知的几个算法里,它具有最好的运行效率。这种方法使用下面这个关于Fibonacci数的矩阵恒等式: 这个算法就是根据这个恒等式,通过计算等式右边的那个矩阵的n次方来计算第n个Fibona转载 2012-08-10 10:09:30 · 538 阅读 · 0 评论 -
Fibonacci数计算中的两个思维盲点及其扩展数列的通用高效解法
From: http://www.cnblogs.com/flyinghearts/archive/2012/02/28/2372530.htmlhttp://www.cppblog.com/flyingheartshttp://www.cnblogs.com/flyingheartshttp://blog.csdn.net/flying转载 2013-02-17 09:34:13 · 440 阅读 · 0 评论 -
C语言名题精选百则——排列,组合与集合
From: http://dsqiu.iteye.com/blog/1715253本篇博文,D.S.Qiu将对《C语言名题精选百则——排列,组合和集合》进行整理推出,不光只是书上的名题,还会依据互联网的资源进行不断补充,加强。等全书各个章节都整理完,会做一个总汇。如果你有建议、批评或补充,请你不吝提出(email:gd.s.qiu@gmail.com,或者直接在本文末评论)。你转载 2013-02-24 18:34:00 · 1328 阅读 · 0 评论 -
CLRS 4-6 VLSI chip testing
From 水木社区 Programming版 (Dec 22 2006)By pingfan (繁华一梦)用G表示好芯片,B表示坏芯片,x-y表示用x和y比较,0、1分别表示测试结果为好芯片和坏芯片。则有以下几种情况:G-G: 1-1 G-B: 0-0 or 1-0B-B: 0-0 or 0-1 or 1-0 or 1-1再做一下逆向分析:1-1: G-G or B-B0-1: B-G or B-B0-0: B-G or G-B or B-B可以看出,当x-转载 2010-10-08 20:31:00 · 1055 阅读 · 0 评论 -
判断两个带环链表是否相交,并求出第一个相交点
<br />如果两个链表无环,判断相交的方法在网上很多,此处不做讨论。这里只考虑两个链表都带环的情况,如何判断其是否相交。<br /> <br />另外还有一种情况,就是一个链表不带环,另一个带环。在这种情况,两个链表必然不想交,如果相交,则两个链表必然都带环。<br /> <br />ok,现在开始讨论两个带环链表相交的问题。<br /> <br />1. 既然带环,先分别求出进入环的第一个节点。这个问题可以在O(n)时间内解决。<br />2. 设两个链表进入环的第一个节点分别为p1, p2, 如果p1原创 2010-09-28 10:18:00 · 2193 阅读 · 4 评论 -
一个有趣的循环赛赛程编排算法
<br />From: http://lvjieyong.spaces.live.com/blog/cns!83ACB0D239EB10E8!248.entry<br /> <br />一个有趣的循环赛赛程编排算法循环赛赛程安排是一个比较有趣的问题,在实际中经常遇到,但是对于新手来说却是一个难题。下面用数学方法来解决这个问题。假设N个人比赛(N为偶数),则每个人需要比N-1场。记这N个队为x_1, x_2, ...., x_N,它们在第k场比赛的对手是x^k_i,则利用同余理论来确定对手:x_i + x^k转载 2010-08-19 13:55:00 · 1362 阅读 · 0 评论 -
Computation Structures --Guess number
From: http://6004.csail.mit.edu/currentsemester/handouts/lab5.pdf原创 2009-05-22 10:14:00 · 481 阅读 · 0 评论 -
Java实现 FIFO与LRU算法
/* * Created on 2004-12-25 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ /** * @Michelangelo * * TODO T转载 2009-09-04 22:46:00 · 1029 阅读 · 0 评论 -
读者写者问题之写者优先(java)
/* * Created on 2005-1-9 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ /** * @author Michelangelo * * TODO To ch转载 2009-09-04 22:48:00 · 1304 阅读 · 0 评论 -
人狼羊菜过河问题 (Java代码实现)
import java.util.*;public class CrossRiver{ //The visited status set private Set visitedStatusSet = new HashSet(); //The steps that need to be visited later. private LinkedList toVis原创 2009-09-12 17:51:00 · 3093 阅读 · 0 评论 -
二叉树 (Binary Tree) 的基本操作 (Java)
package algorithm.binarytree;import java.util.Arrays;import java.util.Stack;import util.ArrayUtil;import util.OutputUtil;public class BinTree { private BinNode root = null; public原创 2009-12-02 14:20:00 · 649 阅读 · 0 评论 -
最大乘积的N-1项,只用乘法不能用除法 (Java)实现
package algorithm.misc;import util.*;public class MaxProductOfN1 { private static int exceptIndex = -1; public static long regMethod(int data[]) { long ret = Long.MIN_VALUE;原创 2009-12-02 14:25:00 · 596 阅读 · 0 评论 -
用递归实现排列组合
From: http://dev.firnow.com/course/3_program/c++/cppjs/2008827/137778.html 用递归实现排列“递归回溯”在排列中的主要思想P(N,M)就相当于在一个M * N的棋盘上每行放一个棋子,且保证每列只有一个棋子. 每一枚棋子都有N个位置可放, 因此就可以穷举每一个棋子的位置, 从第一行开始放,如果所转载 2010-05-25 11:09:00 · 860 阅读 · 0 评论 -
判断单链表是否存在环,判断两个链表是否相交问题详解
From: http://blog.csdn.net/ssfp8762/archive/2009/07/08/4331419.aspx 【摘要】有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点?扩展:判断两个单链表是否相交,如果相交,转载 2010-05-26 17:13:00 · 999 阅读 · 0 评论 -
O(n) 求 最长回文子串
From: http://bbs.dlut.edu.cn/bbstcon.php?board=Competition&gid=23474From: http://www.felix021.com/blog/read.php?2040如何在O(n)时间内处理字符串以每个位置为中心的最长回文。这里转载一个Manacher算法的论文翻译。原文地址:http://zhuhongch转载 2013-02-25 17:15:38 · 643 阅读 · 0 评论