怎样才算熟练掌握数据结构、常用算法?-总结

qingkangxu 2009-08-31 08:43:07
前久发了一个帖子(怎样才算熟练掌握数据结构、常用算法?)
好象发出了大家的心声,感兴趣的人比较多,相信很多人想从帖子里找到答案,
此帖子把比较好的几个总结出来方便大家学习.


散分
前20位都有分.


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

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

个人观点.
------------------------------------------------------

***版
------------------------------------------------------
yeka
http://www.douban.com/review/2130819/

数据结构和算法是程序的根本——为什么?!
2009-07-10 22:44:19   来自: BlueDavy (努力看书)
编程之美--微软技术面试心得的评论

  转自博客。
  
  应该是差不多两个月前收到了这本书,一直到最近才抽出时间来看了下,这本书的开篇的第一题现在基本已经成了经典中的经典了,相信很多人都因为这个控制CPU使用率的题从而买了这本书的,在我自己看过这本书后我同时相信买了这本书的人应该会觉得非常的值得,要写出合理实现需求、高性能以及大数据量的程序,数据结构和算法就成为关键要素了,这本书用简短的题目给大家回顾了一些经典的算法。
  
  首先,这本书以微软面试题吸引了众多人的梦想,毕竟微软的技术强这是毋庸置疑的,面试过不少的人,自己也觉得面试题真的是非常的难出,毕竟面试要求的是面试官在短短的几十分钟或一个小时内考察面试者是否符合公司的要求,在看《编程之美》序中看到邹欣因为面试一个进行过CPU压力测试的面试者时,想到了那道经典的控制CPU使用率的问题,从这道题我们可以看到考察面试人员对一项技术掌握是否精通的考评标准,我觉得和我之前写的那几篇关于如何考察面试者是否达到了精通的一些题是差不多同样的道理,毕竟精通这两个字不是随便就能达到的,从《编程之美》这本书中也看到了微软在考察面试者能力时的要求是非常高的,彻底颠覆了我对微软亚洲研究院这边的看法,:),另外从这本书列举的一些题目可以看出微软出的面试题的水准确实是相当高的,可以做到在短时间内充分的考察面试者在该方面的能力,我想这也是大部分面试官在出面试题时需要尽量达到的目标。
  
  以上是从面试题的角度看这本书,接着来看看这本书的内容,估计现在书中的很多题目都已经成为了业界讨论的焦点话题了,像控制CPU使用率、双线程下载、数独游戏、24点、电梯调度、连连看等等一系列经典的题目,这些题目对于纠正目前很多业界从业人士对数据结构和算法不重视的看法应该是会有帮助的,当我在做中小型企业应用开发的时候,我也一直认为数据结构和算法即使不掌握也是没什么关系,而现在我也非常重视数据结构和算法了,现在在做面试的时候对于科班出身的同学,我会问问数据结构、算法的成绩,另外还有一个和书中同样的看法就是,数学非常重要,写程序和我们在学数学时解方程其实没有太大的差别,所以我认为数学学的好的人大部分是比较适合从事软件行业的,:),仅为个人看法,书中在数学方面也列举了不少经典的题目,像寻找发帖“水王”、寻找数组中的最大值和最小值等等。
  
  总体而言,这本书并不是说要告诉大家面试微软的技巧,去死记硬背这些答案,那没有多少意义的,毕竟面试官更多的其实考察的是面试者的逻辑思维能力以及对相关知识的掌握程度,何况面试官通常都是会调整题目的,并不是说每次问的都是一样的,我想这本书能够给大家带来的最多的参考就是理解什么才是真正的精通,另外也给大家呈现了数据结构和算法为什么会是程序的根本,而对于要实现高性能以及海量数据处理的程序这些就更为关键了,因此个人觉得除了这本书之外,数据结构和算法相关的书即使不是科班出身的人也是应该仔细学习学习的。
------------------------------------------------------
...全文
2156 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
linuxjd 2012-09-30
  • 打赏
  • 举报
回复
如何用数据结构呢,以后工作是怎么运用的,大二的,不懂
zzl6220 2011-07-05
  • 打赏
  • 举报
回复
mark...
tomrxjh 2010-11-26
  • 打赏
  • 举报
回复
zyc814 2010-10-02
  • 打赏
  • 举报
回复
这个,我也想,不过那位朋友告诉我,我们有那么多精力吗?我感觉我忙的都快崩溃了。
machunjie2003 2010-09-27
  • 打赏
  • 举报
回复
太崩溃了,光是看到这么多算法名称我的头都大了……
dengapple 2010-09-26
  • 打赏
  • 举报
回复
卖糕的,好强大哦
AAA20090987 2010-04-03
  • 打赏
  • 举报
回复
MARK............
sssnowman 2009-09-01
  • 打赏
  • 举报
回复
边学便用,在实践中使用才能渐渐熟练地熟悉!
fengqieer1986 2009-09-01
  • 打赏
  • 举报
回复
学习中,算法很难呀,但也是精髓呀,学的好,潜力无限
progzhang 2009-09-01
  • 打赏
  • 举报
回复
学习....
dajiadebeibei9 2009-09-01
  • 打赏
  • 举报
回复
24L了,也散了分吧
summily 2009-09-01
  • 打赏
  • 举报
回复
接的不是分 是寂寞!
  • 打赏
  • 举报
回复
似乎还有北理工的资源


invoked 2009-09-01
  • 打赏
  • 举报
回复
yinzisheng 2009-09-01
  • 打赏
  • 举报
回复
嘿嘿,学习学习~~
poppybrave 2009-09-01
  • 打赏
  • 举报
回复
...
``发现自己差太远了...
``学习...
yangyanan1987 2009-09-01
  • 打赏
  • 举报
回复
有同感!
[Quote=引用 14 楼 ginni215 的回复:]
还好赶得上~
算法真的是太多了,集中学的时候,还能记住,长时间不用就又有点忘了~
[/Quote]
yilagong 2009-09-01
  • 打赏
  • 举报
回复
en ,还真不好说,熟练,还精通。。。
why_java 2009-09-01
  • 打赏
  • 举报
回复
算法真多!!
gesanri 2009-08-31
  • 打赏
  • 举报
回复
... 一看就知道我不适合搞算法
加载更多回复(14)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧