算法小计

来源:互联网 发布:网络刷手是可靠吗 编辑:程序博客网 时间:2024/06/15 03:32
 
回复 4# 靖难 


    感谢版主您的不吝笔墨,留下如此宝贵的意见。你说的很对,如果我自己有很高的天赋的话,本科就表现出来了。其实我就是一个死读书的学生,我的算法真的很菜。敢问版主,如果抱着很功利的想法,有没有必要自己独立搞ACM呢?或者说,ACM这个东西对于以后的就业到底作用是不是很大?

目前的规划是研究生多做项目,将来工作后只是一开始做技术的工作,将来尽可能向管理,销售类转。

另外,有个前辈这么说:这么说吧,IT企业招聘的时候,弄过ACM会很有优势。因为必出算法题,而且没做过ACM的同学必然不会,比如现在让你手写个红黑树,最大流,你显然是不行的。但是呢,入职之后,算法这一块其实要求不高,这么说吧,对于排序,工程上,没人会用到归并,堆这样的排序,三行的冒泡是最稳定的,好一些的用快排就ok。也就是说,ACM可以成为一块敲门砖,但是实用价值很小。

不过我还是希望听听版主你的意见


本帖最后由 靖难 于 2011-10-13 23:50 编辑

0.工程上经常需要用到堆,堆排序相关的操作,归并的思想也常会用,这些都是简单的。复杂的像skip-list,红黑树,B+树都会用。我之前负责的项目中就需要用B+树来构建索引.而且已知的成熟的数据结构都是简单的,但大多数无法直接应用。

1.面试不会让你直接写红黑树的调整这类东西,而且这个其实并不难,反而无法考察人的能力,通常会考轻量级的算法问题,是策略设计型的,是思维能力问题。当然,也有公司喜欢考coding能力,比如微软.

2.算法是思维训练,作用很大,其次,现实用处也很大。算法学习不等于ACM/ICPC竞赛,ICPC是一种促进和提升算法设计能力的方式而已.
3.尤其互联网公司,算法越来越重要了,如果你长关注一些知名的百度/腾讯新浪微博的工程师的博客或者微博,就会发现这个问题。
我的人人网公共主页:单纯测试,欢迎大家follow