程序员四大忌

上传人:学*** 文档编号:292061086 上传时间:2022-05-13 格式:DOCX 页数:8 大小:20.17KB
返回 下载 相关 举报
程序员四大忌_第1页
第1页 / 共8页
程序员四大忌_第2页
第2页 / 共8页
程序员四大忌_第3页
第3页 / 共8页
程序员四大忌_第4页
第4页 / 共8页
程序员四大忌_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《程序员四大忌》由会员分享,可在线阅读,更多相关《程序员四大忌(8页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑程序员四大忌 程序员四大忌 你该如何制止呢 一忌:轻易言败,没有自信 没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而告成只有一次。 就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,可能又有其它的问题展现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请不要做程序员,你不成能告成。执着是最难得的。 执着的程序员都是相信自己的人,每时每刻都会激励自己,你做的出来,你能解决,你会告成。这样他才能坚持

2、下去。 二忌:浮华不实,自满自大 夸夸奇谈的人不是优秀的程序员。整个程序设计的过程就是一个研究学习,应用,再研究学习,再应用的过程。一名优秀的程序员决不会认为自己足够好了,不需要再提高了。自满自足的人不会是好程序员,会很快落后以致落伍。所以越是优秀的程序员越是感觉自己懂得少,不会在人前有意卖弄,这并不是故作谦逊,而是实实在在的感受,亲自体会才能明白。 浮华的程序员会不懂装懂,不停的强调语言的优劣,平台的好坏。追求所谓最新最时尚的技术,停留在外观问题上。或假做沉重,用不适合的方式做不适合的事情。就像孔已己一样,以为知道茴字有四种写法就是学问。结果是简朴的作不好,困难的也作不好。 三忌:死气沉沉,

3、不求甚解 优秀的程序员是弥漫激情和活力的程序员。求知欲和创造欲是原动力。有求知欲你才能不停的学习,有创造欲你才能不停的超越自己。死气沉沉的程序员已经对程序设计失去了兴趣,很快就会主动或被迫离开。 创造不是指你要研发什么别人不知道的技术或方法,而是说不能仅仅知道怎么做,还要知道为什么这样做。之后你才能创造,其实程序设计的整个过程就是创造的过程。 四忌:强调客观,疏忽自身 好多程序员都是在失败的时候强调客观因素,而优秀的程序员的程序员都是先反省自己。要明白自己缺陷,再努力去学习。没有人事事都做的告成,也没有人生来就什么会做。所以失败了,多想想自身的理由,这样你才会不停的进步,而不是留在原地怨恨。

4、一位高手的建议: 一般要做到50行以内的程序不用调试、100行以内的二分钟内调试告成. 训练过ACM等程序设计竞赛的人在算法上有较大的优势,这就说明当你编程才能提高之后,主要时间是花在斟酌算法上,不是花在写程序与debug上。 下面给个筹划你练练: 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,由于太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来。 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除 4.二分查找. (

5、代码可在五行以内) 5.叉乘、判线段相交、然后写个凸包. 6.BFS、DFS,同时纯熟hash表(要熟,要生动,代码要简) 7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式. 8. 调用系统的qsort, 技巧好多,逐渐掌管. 9. 任意进制间的转换 其次阶段:练习繁杂一点,但也较常用的算法。 如: 1. 二分图匹配(匈牙利),最小路径笼罩 2. 网络流,最小费用流。 3. 线段树. 4. 并查集。 5. 熟谙动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp 6.博弈类算法。博弈树,二进制法等。 7.最大团,最大独立集。 8.判断点在多边形内。 9. 差分约束系统.

6、10. 双向广度探寻、A*算法,最小耗散优先. 第三阶段: 前两个阶段是打根基,第三阶段是磨练在比赛中可以快速建立模型、想新算法。这就要平日多做做综合的题型了。 1. 把oibh上的论文看看(约莫几百篇的,我只看了一点点,呵呵)。 2. 平日扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简朴的来 做:-P ) 3. 多加入网上的比赛,感受一下比赛的气氛,评估自己的实力. 4. 一道题不要过了就算,问一下人,有更好的算法也打一下。 5. 做过的题要记好 :-) 下面转自:http:/hi. 算法书有好多可以参考: 1、Concrete Mathematics - A F

7、oundation For Computer Science Ronald L. Graham , Donald E. Knuth , Oren Patashnik 这本书概括数学是Stanford计算机系的教材(1970 年开头给研究生授课),书的内容是Knuth的巨著TAOCP第一章的扩展,涉及了计算机科学领域内几乎全体可能遇到的数学学识。书中大量经典问题的解答比目前广泛流传的解法更易懂。对于提高大家的数学修养有很大扶助。 2、Introduction to Algorithms Thomas H. Cormen ,Charles E. Leiserson ,Ronald L. Rives

8、t ,Clifford Stein 算法导论MIT计算机系的经典算法教材。Rivest获得过ACM Turing Award,牛!本书内容全面,语言通俗,很适合大家入门。 3、实用算法的分析和程序设计 吴文虎 王建德 大名鼎鼎的“黑书”。内容包括了竞赛需要的各种算法,各种层次的读者都适合。 【这里是我自己加的:其实所谓黑书还有一本,算法艺术与信息学竞赛:刘汝佳 黄亮,很经典,很流行】 4、网络算法与繁杂性理论 谢政 李建平 内容很丰富的图论教材 5、算法+数据布局=程序 N.Wirth Pascal语言的研发人Wirth教授的名著,深入阐述了算法与数据布局的关系,对每个算法都供给细致的Pasc

9、al源程序,适合各种水平的读者。 结果,在学习算法提升战斗力的同时,也要多做题目,实战是很有必要的。其实并不是全体的题目都是靠算法的,有一些题目是有多种可以优化的手段,也有一些工程性对比强的题目。上手做和把题做精还是有很大识别的(惭愧的说,我就是属于上手做,没有做精,所以?)。 愿每一位程序设计竞赛爱好者挑战极限! ACMer必备学识(任重而道远.) 图论 路径问题 0/1边权最短路径 BFS 非负边权最短路径(Dijkstra) 可以用Dijkstra解决问题的特征 负边权最短路径 Bellman-Ford Bellman-Ford的Yen-氏优化 差分约束系统 Floyd 广义路径问题 传

10、递闭包 微小极大距离 / 极大微小距离 Euler Path / Tour 圈套圈算法 混合图的 Euler Path / Tour Hamilton Path / Tour 特殊图的Hamilton Path / Tour 构造 生成树问题 最小生成树 第k小生成树 最优比率生成树 0/1分数规划 度限制生成树 连通性问题 强大的DFS算法 无向图连通性 割点 割边 二连通分支 有向图连通性 强连通分支 2-SAT 最小点基 有向无环图 拓扑排序 有向无环图与动态规划的关系 二分图匹配问题 一般图问题与二分图问题的转换思路 最大匹配 有向图的最小路径笼罩 0 / 1矩阵的最小笼罩 完备匹配 最优匹配 稳定婚姻 网络流问题 网络流模型的简朴特征和与线性规划的关系 最大流最小割定理 最大流问题 有上下界的最大流问题 循环流 最小费用最大流 / 最大费用最大流 弦图的性质和判定 组合数学 解决组合数学问题时常用的思想 迫近 递推 / 动态规划 概率问题 Polya定理 计算几何 / 解析几何 计算几何的核心:叉积 / 面积 解析几何的主力:复数 根本形 点 直线,线段 多边形 凸多边形 / 凸包 凸包算法的引进,卷包裹法 8

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号