c++
文章平均质量分 70
shandaliuyan
热爱编程,喜欢交友,爱好打球:篮球,兵乓球,台球
展开
-
注重实效的哲学(程序员修炼之道摘录三)
<br /> 石头汤与煮青蛙<br /> 三个士兵从战场返回家乡,在路上饿了。他们看见前面有村庄,就来了精神——他们相信村民会给他们一顿饭吃。但当他们到达那里,却发现门锁着,窗户也关着,经历了多年战乱,村民们粮食匮乏,并把他们有的一点粮食藏了起来。<br /> 士兵们并未气馁,他们煮开了一锅水,小心地把三块石头放进去,吃惊的村名走出来望着他们<br /> “这是石头汤,”士兵们解释说,“就放石头吗?”村民们问。“一点没有错——但有人说加一些胡萝卜味道更好。。。”一个村民跑开了,又很快带着他储藏原创 2010-11-29 23:49:00 · 1033 阅读 · 0 评论 -
从一道笔试题谈算法优化(下)
<br />因为受到经济危机的影响,我在 bokee.com 的博客可能随时出现无法访问的情况;因此将2005年到2006年间在 bokee.com 撰写的博客文章全部迁移到 csdn 博客中来,本文正是其中一篇迁移的文章。<br />声明:本文最初发表于《电脑编程技巧与维护》2006年第5期,版本所有,如蒙转载,敬请连此声明一起转载,否则追究侵权责任。<br />从一道笔试题谈算法优化(下)<br />作者:赖勇浩(http://blog.csdn.net/lanphaday)<br />苦想冥思<br转载 2010-11-22 22:23:00 · 377 阅读 · 0 评论 -
注重实效的哲学(程序员修炼之道摘录一)
<br /> 注重是小的程序员的特征是什么?我们觉得是他们处理问题,寻求解决方案时的态度,风格,哲学。他们能够越出直接的问题去思考,总是设法把问题放在更大的语境中,总是设法主义更大的图景。毕竟,没有这样的更大的语境,你又怎能注重实效?你又怎能做出明智的妥协和有见识的决策?<br /> 他们成功的另一关键是他们对他们所做的每件事情负责,关于这一点,我们将在”我的源码让猫吃了“中加以讨论。因为负责,注重实效的程序员不会坐视他们项目土崩瓦解。在”软件的熵“中,我们将告诉你怎样使你的项目保持整洁。<br />原创 2010-11-24 00:50:00 · 570 阅读 · 0 评论 -
从一道笔试题谈算法优化(上)
<br />因为受到经济危机的影响,我在 bokee.com 的博客可能随时出现无法访问的情况;因此将2005年到2006年间在 bokee.com 撰写的博客文章全部迁移到 csdn 博客中来,本文正是其中一篇迁移的文章。 <br /> <br />声明:本文最初发表于《电脑编程技巧与维护》2006年第5期,版本所有,如蒙转载,敬请连此声明一起转载,否则追究侵权责任。<br />从一道笔试题谈算法优化(上)<br />作者:赖勇浩(http://blog.csdn.net/lanphaday)<br />转载 2010-11-22 22:22:00 · 379 阅读 · 0 评论 -
各种排序算法的稳定性和时间复杂度小结
<br />选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。<br /><br /><br />冒泡法: <br />这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。<br />直接插入排序:O(n*n)<br />选择排序:O(n*n)<br />快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好的,大多数情况下总是最好转载 2010-11-23 00:35:00 · 549 阅读 · 0 评论 -
第三波笔试题(Vmware EMC 完美时空)[
<br />VMware:<br />1. 猫和老鼠玩象棋,玩了M+N局,猫赢了M局 老鼠赢了N局 N>M,而且在整个过程中,猫的得分从来没有超过过老鼠,问共有多少种可能的比赛得分过程<br /><br />2. 100个人排队上飞机,飞机上有100个座位,每个人对应一个座位,队首的人是个瞎子,上飞机后随便坐,后面的人都尽量找自己的座位,如果已经被占,则随机做,问第100个人坐到自己座位的概率<br /><br />EMC<br />3.补充语句,使下面程序if判断语句始终为真,不能改动if判断语句转载 2010-11-19 00:52:00 · 1427 阅读 · 0 评论 -
C/C++时间函数使用方法
C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法. 通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个: Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenw转载 2010-10-28 13:06:00 · 426 阅读 · 0 评论 -
你的知识资产(程序员修炼之道摘录六)
<br /> 学习的机会<br /> 于是你狼吐虎咽地阅读,在你的领域,你站在了所有突破性进展的前沿(这不是容易的事情),有人向你请教一个问题,答案是什么?你连最起码的想法都没有,你坦白地承认了这一点。<br /> 不要就此止步,把找到答案视为对你个人的挑战。去请教古鲁(如果在你的办公室里没有你应该能在Internet上找到),上网搜索,去图书馆。<br /> 如果你找不到答案,就去找出能找到答案的人,不要把问题搁在那里。与他人交谈可以帮助你建立人际网络,而因为在这个过程找到了其他不相关问题的解原创 2010-12-01 23:52:00 · 588 阅读 · 0 评论 -
你的知识资产(程序员修炼之道摘录五)
<br />知识上的投资总能得到最好的回报<br /> ——本杰明.富兰克林<br /> 噢,好样的富兰克林——从不会想出精炼的说教,为什么?如果我们能够早睡早起,我们就是了不起的程序员——对吗?早起的鸟儿有虫吃,但早起的虫子呢?<br /> 然而在这种情况下,Ben确实命中率要害,你的知识和经验是你最重要的职业财富。<br /> 遗憾的是,它们是有时效的资产,随着新技术,语言及环境的出现,你的知识会变得过时,不断变化的市场驱动力也许会使你的经验变得陈旧或原创 2010-12-01 00:11:00 · 881 阅读 · 0 评论 -
足够好的软件(程序员修炼之道摘录四)
<br />足够好的软件<br />欲求更好,常把好事变糟<br /> ——李尔王<br /> 有一个有点老的笑话,说一家美国公司向一家日本制造商订购了100,000 片集成电路,规格说明中有次品率,10000片中只能有一片,几周过后订货到了:一个大盒子,里面装有数千片IC,还有一个小盒子,里面只装10片IC,在小盒子有一个标签,上面写着“这是次品”<br /> 要是我们真的能这样控制质量就好了,但现实世界不会让我们制作出十分完美的产品,特别是不会有无错的软原创 2010-11-30 23:01:00 · 723 阅读 · 0 评论 -
注重实效的哲学(程序员修炼之道摘录二)
<br /> <br /> 软件的熵<br /> <br /> 尽管软件开发几乎不受任何物理定律的约束,熵对我们的影响却还是很大的。熵是一个来自物理学的概念,指的是某个系统中的“无序”的总量,遗憾的是,热力学定律保证了宇宙的熵倾向于最大化,当软件中的无序增长时,程序员们称之为“软件腐烂”<br /> 有很多因素可以促生软件腐烂,其中最重要的就是一个似乎是开发项目时的心理或者是文化,即使你的团队只有你一个人,你开发项目时的心理也可能是非常微妙的事情。尽管制定好了最好的计划,拥有最好的开发者,项目在其生原创 2010-11-29 00:14:00 · 580 阅读 · 0 评论 -
基本排序算法比较与选择
<br /><br />冒泡排序:在最优情况下只需要经过n-1次比较即可得出结果,(这个最优情况那就是序列己是正序,从100K的正序结果可以看出结果正是如此),但在最坏情况下,即倒序(或一个较小值在最后),下沉算法将需要n(n-1)/2次比较。所以一般情况下,特别是在逆序时,它很不理想。它是对数据有序性非常敏感的排序算法。<br />冒泡排序2:它是冒泡排序的改良(一次下沉再一次上浮),最优情况和最坏情况与冒泡排序差不多,但是一般情况下它要好过冒泡排序,它一次下沉,再一次上浮,这样避免了因一个数的逆序,而造转载 2010-11-23 00:34:00 · 514 阅读 · 0 评论