acm训练推荐(4)

熟练掌握数据结构、常用算法汇聚






(一)


不可能都完全记住那么多的算法. 
常用算法,拿过来就可以写出来 
不常用的,拿起书来,看10分钟,就能理解算法(因为以前记过). 
对以前没有记过的算法,就不好说了,难的可能要研究好几天. 
这样就可以了. 


应该熟练掌握的常用的算法应该有: 
各种排序算法(插入排序、冒泡排序、选择排序,快速排序,堆排序,归并排序) 
线性表(一般的线性表,栈,队列)的插入和删除 
二叉树的遍历(前序,中序,后序) 
图的遍历(深度优先,广度优先) 
二分法查找,排序二叉树,Hash查找(处理冲突的方法)。 




(二)


分析一个东西,你可以用不同的眼光去看待,有很多时候,就跟自己生活一样,觉得小时候看待问题很幼稚,现在看问题全面了,而且方式不一样了,为什么,就是成长吧,就跟这个一样的,你对算法,比如写一个程序,可能直接写很简单,可是可以有一些有趣的方式,比如通过什么样来表达,怎么样更高效..等等吧






(三)






于大学里把基本的专业课学扎实就ok,如:数据结构,离散,操作系统等。碰到一些基本的数据结构和算法,如查找排序要根据原理马上能写出相应的代码就行了,我个人是这样理解的,对于更深层次的东西,也是建立在自己熟练的基础之上的吧






(四)


算法与数据结构考验试题精析》第2版 机械工业出版社 
如果你想练习的话,这里有N多的题可以来练习,但实际中能用到的比较少,除非搞一些高端的玩意,不过平时也可以在自己的项目中结合使用






(五)






数据结构在平时可能用不上,但数据结构可以培养你程序时如果注意效率的意识,一个学过数据结构的人和一个没有学过数结构的人写出来的程序可能在效率上有差别。






(六)


搞ACM需要的掌握的算法. 
要注意,ACM的竞赛性强,因此自己应该和自己的实际应用联系起来. 
适合自己的才是好的,有的人不适合搞算法,喜欢系统架构,因此不要看到别人什么就眼红, 
发挥自己的长处,这才是重要的. 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值