请教!数据结构与实际开发~
在面试的时候有两家公司有跟我强调数据结构,我想知道的是现实当中大家有涉及到很多数据结构方面的东西么?会用到很多复杂的算法么?有得话麻烦举个例子。
我感觉java好像很多东西都给我们封装好了,不知是否在学校做的东西太小儿科,所以基本上都没有用到什么复杂的算法,而自己大二学的数据结构和算法也忘得差不多了。。。
------解决方案--------------------一般是比较好的公司会比较重视这个,因为他们开发从东西复杂度相对比较高,需要很好的思维习惯和算法基础。数据结构正好提供了这些东西(思维工具)。
还有,虽然java这样的高级语言封装了很多底层的算法,如堆栈,队列,排序。实际工作中也通常不需要你自己重新写一个排序的程序,但是,了解这些基本算法,对于你构思更复杂的程序,很又好处。而且,对于API的选用,你需要对底层的东西了解比较深入,才能更好的理解各种API的细微差别。比如TreeMap和HashMap,它的接口几乎是一样的,但是各有不同;同样,LinkedList和ArrayList也有自己的特点和用途。
------解决方案--------------------嗯,我现在的干得就一点没用到数据结构和算法,以前也看帖子文章说他们很重要,可是现在一点都没用到......
------解决方案--------------------数据结构以及算法是把双刃剑。
我的感受是他们在底层时,是很有用的。因为底层通常就是用来干活的,规则稳定,要求效率。
但是在应用层面,很复杂的数据结构和算法很多时候成为重构的杀手。尤其是代码易手后,接替者会很难受。
很多人喜欢用一个特殊的数据构造来代替对象,把一个数据结构看作一种天然的轻量级的对象。这样其实会让别人很难受。所谓性能,并不是在软件的每个阶段,每个层次都需要去考虑。你可以在最后因为性能的问题把一堆对象和方法调用,用一个巧妙数据结构构造和高效算法来代替。但是千万不要直接就上你认为巧妙有效的结构构造和算法。
------解决方案--------------------楼上的说的不错
------解决方案--------------------在这看来数据结构和算法有必要好好看看~!
------解决方案--------------------收藏
------解决方案--------------------顶~~算法其实很有意思的,JAVA中的集合应该好好研究一下!
------解决方案--------------------集合类的选择对性能影响很大
------解决方案--------------------高手和低手,就在算法有很大区别,想成为高手一定要学
结构和算法。只可惜偶是菜鸟,一些算法连看都看不懂。
苦闷中。