算法学习
文章平均质量分 79
Paul_ZJ
Read The Fucking Source Code
展开
-
澄清P问题、NP问题、NPC问题的概念
澄清P问题、NP问题、NPC问题的概念这或许是众多OIer最大的误区之一。 你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容转载 2013-12-06 16:26:36 · 708 阅读 · 0 评论 -
图着色算法详解
图着色算法详解图着色算法简介 图的m-着色判定问题——给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色,是否有一种着色法使G中任意相邻的2个顶点着不同颜色? 图的m-着色优化问题——若一个图最少需要m种颜色才能使图中任意相邻的2个顶点着不同颜色,则称这个数m为该图的色数。求一个图的最小色数m的问题称为m-着色优化问题。转载 2013-12-04 22:11:39 · 6182 阅读 · 0 评论 -
高效率安排面试(图着色问题扩展)
原题是这样的:在校园招聘的季节里,为了能让学生们更好地了解微软亚洲研究院各研究组的情况,HR部门计划为每一个研究组举办一次见面会,让各个研究组的员工能跟学生相互了解和交流(如图1-4所示)。已知有n位学生,他们分别对m个研究组中的若干个感兴趣。为了满足所有学生的要求,HR希望每个学生都能参加自己感兴趣的所有见面会。如果每个见面会的时间为t,那么,如何安排才能够使得所有见面会的总时间最短?最简单转载 2013-12-05 01:24:34 · 799 阅读 · 0 评论 -
如何对一个算法进行复杂度分析
算法复杂度是在《数据结构》这门课程的第一章里出现的,因为它稍微涉及到一些数学问题,所以很多同学感觉很难,加上这个概念也不是那么具体,更让许多同学复习起来无从下手,下面我们就这个问题给各位考生进行分析。首先了解一下几个概念。一个是时间复杂度,一个是渐近时间复杂度。前者是某个算法的时间耗费,它是该算法所求解问题规模n的函数,而后者是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。转载 2014-12-07 19:11:04 · 6861 阅读 · 1 评论 -
贪心算法——经典习题
¡贪心算法§比较直观,容易想到§对“图”要求高§很多特殊图上的问题可以贪心,(参见《算法图论》)§贪心问题的证明比较困难§有时需要先排序,再贪心¡ 例1 找钱问题,目前的钱币系统1,2,5,10,用来换钱是最优的。§ 贪心的证明▪ 超过10 一定要用10,为什么?▪ 有5在,2的个数一定不超过3,因为如果有3个2,1个5,则换原创 2015-01-31 17:18:43 · 879 阅读 · 0 评论 -
问,你的算法复习计划是什么?
(另注:这篇文章发到首页,是希望多和大家交流,首先感谢大家)小学和爸爸一起玩小霸王学习机,看着爸爸照着说明书上的程序在小霸王学习机上打出了一个超级玛丽奥。自己也尝试着打,却没有打出来。初中,终于把超级玛丽奥也照着书打出来了。高一看到了父亲函授的C语言程序设计一书,对编程有了初步印象。超级玛丽奥的程序终于看懂了。高三紧张的学习中,自己却买了本C++的书看。转载 2015-02-06 10:53:05 · 584 阅读 · 0 评论 -
Bit manipulation
Bit manipulationWhen should you use bitwise operators?Bitwise operators are used forsaving more space orsaving some time. There are also times when you need to use bitwise operators: if转载 2015-02-08 10:43:53 · 501 阅读 · 0 评论 -
实现四则运算——逆波兰表达式
1.将中缀表达式转化为逆波兰式的思路,如将1+2转化为12+: 定义一个stringbuffer来存放后缀式,并定义一栈stack Java代码 loop:读取读取输入的字符串,将当前读入的字符记为a: step1:如果a为操作数则直接append到stringbuffer中. step2:如果a为左括号“(”则将a进栈转载 2015-05-29 09:57:30 · 692 阅读 · 0 评论