8 评论

Java 新手的通病[1]:对算法和数据结构不熟悉

  为什么我先拿“数据结构和算法”说事捏?这玩意是写程序最最基本的东东。不管你使用 Java 还是其它的什么语言,都离不开它。而且这玩意是跨语言的,学好之后不管在哪门语言中都能用得上。

  既然“数据结构和算法”这么重要,为什么很多 Java 新手却很不熟悉捏?我琢磨了一下,估计有两种可能。有些人虽然是计算机系毕业的,但是当初压根没好好学过这门课程,到工作时早都还给老师了;还有一些人是中途转行干编程,转行后又没有好好地打基础(都指望速成)。
  下面我列出几个很基本的问题,如果你每一个问题都搞得很清楚,那说明你过了这关,可以去看看下一个帖子了。否则的话,你赶紧去找本算法和数据结构的书恶补一下吧。

★什么时候该用数组型容器、什么时候该用链表型容器?
★什么是散列函数?HashMap 的实现原理是什么?
★什么是递归?如果你以前从来没写过递归函数,尝试着写一个(比如用递归函数进行目录树遍历)。
★什么是算法复杂度?
★你是否理解空间换时间的思想?
★写一个针对整数数组的冒泡排序函数,看看你要修改几次才能跑通。
★写一个针对整数数组的二分查找函数,看看你要修改几次才能跑通。

  后面接着说第2个通病:缺乏面向对象的基本功
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2009/01/defect-of-java-beginner-1-algorithm.html

8 条评论

  1. 博主,有没有一些java的数据结构的书和源代码推荐?
    还有就是电子书的问题了,看电子书可以边看边思考吗?

    回复删除
  2. 楼上的同学:
    数据结构是语言无关的东东。学习数据结构不一定要非要看某某语言的数据结构书。
    关于电子书,主要是一个习惯的问题。像我已经非常习惯于电子书,边看边思考肯定是没问题的。我个人感觉电子书将来的趋势很明显。

    回复删除
  3. 博主,有没有介绍C#的系列呢?虽然共通,但是还是希望有,谢谢哦。

    回复删除
  4. 博主 能不能推荐 数据结构 相关的电子书籍呢?

    回复删除
    回复
    1. 如下几本名气都很大,评价都很高。你可以找来看看。
      《Programming Pearls》(《编程珠玑》)
      《Introduction to Algorithms》(《算法导论》)
      《Data Structure and Algorithms》
      《Algorithms》
      《Algorithm Design》

      删除
  5. 编程哥,有没有java社区介绍呢?国内外的都可以~~不想被挖,所以匿名啦

    回复删除
  6. 我现在学的就是java 确实感觉数据结构算法基础弱 举步维艰,搞了两年javaWEB开发,不过没有深入理解java本身 和 算法数据结构 看了博主的文章 准备恶补一下,再拖就来不及了!唉!

    回复删除