文章吧-经典好文章在线阅读:《Java数据结构和算法》的读后感大全

当前的位置:文章吧 > 原创文章 > 原创精选 >

《Java数据结构和算法》的读后感大全

2021-01-11 02:46:54 来源:文章吧 阅读:载入中…

《Java数据结构和算法》的读后感大全

  《Java数据结构和算法》是一本由拉佛著作,中国电力出版社出版的平装图书,本书定价:55.00元,页数:560,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。

  《Java数据结构和算法》精选点评:

  ●看pdf电子版

  ●适合初学者 , 算法讲的很清楚 ,而且有applet配套教学,不错

  ●简单易懂

  ●解释相当清楚,习题难易适度,每个程序员都应该细致的读完一本数据结构书,这本书绝对就是那本。

  ●看了一遍,很不错。语言讲得很清晰,算法都有完整可运行的代码,并且还有applet演示。这是一本学习数据结构不错的书。当然与java语言无关的数据结构没讲,例如字符串String,在jiava中它已经是个类了。

  ●很久之前看过的一本书,现在想想似乎什么都没记住

  ●applet很好,对算法有了详细的解释,但是深度不够,内容较窄。

  ●我的数据结构与算法入门书啊~~很入门的那种书,没有太多公式,主要是插图和讲概念,讲的很容易理解,虽然没有找到书里的那些applet,但是当初作为第一本数据结构和算法的书还是很顺畅的看下来了~~

  ● 绝版书,不过应该是有再版价值的。 其实没看完,暂时用不上这本书了,就虚假的标记为已读吧。

  ●使用了Applet,你可以可视化的看到数据的状态。适合初学者、提高、精通。非常经典的教材。

  《Java数据结构和算法》读后感(一):细致入微 入门必读

  数据结构的书也翻阅了不少,这本书可以说是最详细的。在我看来一本好的技术书就是废话多,只有高信息量的冗余才能让读者更清晰的理解,像清华那本广受推崇的数据结构书,薄薄一本,满是精华,但是对初学者来说实在是艰涩难懂。这本书一个是代码结构清晰,注释丰富,并且配合了小程序给读者对算法的直观感受,非常适合初学者学习。

  《Java数据结构和算法》读后感(二):有好有坏

  优点是这本书讲的很清晰易懂,分析的很透彻,对于初学数据结构和算法是很好的推荐

  缺点是中文版翻译的实在是太差了,有的地方不对照英文版根本不知道在说什么,遇到很多处这样的情况了真是不能忍。感觉书中的例子代码写的也不够好,不如文字解释的那么清楚。

  之所以没有放弃这本书看别的是因为它的文字叙述写的真的很好,麻烦点对照英文版看就行了

  《Java数据结构和算法》读后感(三):小错误集锦

  书中141页错误,单链表displayList,里面的while判断为空应该在外面判断,否则会报空指针异常,因为在while条件中已经使用到需要判空的变量了。后续添加的find和delete同理。

  书中243页,希尔排序,theArray[inner-h]>=temp,应改为theArray[inner-h]>temp,因为如果相等,进行交换是无意义的,是一种浪费行为,这在数据量很大的时候会变得明显,插入排序那同理,70页,a[in-1]>=temp,应改为a[in-1]>temp。

  书中262页错误,意味着即时取消leftPtr>right和rightPtr<left的检测,这句中的大于小于符号写反了。

  书中341页错误,应该是,已知X是红色的,由此可以得出一个结论,X不可能有一个兄弟节点,除非P是“黑色”的。

  《Java数据结构和算法》读后感(四):书中给出的希尔排序代码有错误

  我之前第一次看这本书的时候,是只看了他的一些概念,理解了之后就上手写代码了,他给的实例代码只是草草的看了看。

  今天复习的时候,就仔细看了看里面的代码,然后发现希尔排序的代码有错误,而且也和他描述的概念不符。

  希尔排序应该需要嵌套的四层循环,第一层递减增量,第二层偏移增量,剩下两层都是正常的插入排序,而他给出的代码漏掉了第二层

  我给出我的代码,大家可以比较一下,按书里的代码虽然可以进行排序,因为本来就是优化过的插入排序,但是效率就会有所下降。

  rivate static ArrayList<Integer> sort4(ArrayList<Integer> list) {

  //根据数组size获取初始增量

  int Incremental=1;

  while(3*Incremental+1<list.size())

  {

  Incremental=3*Incremental+1;

  }

  while(Incremental>=1)

  {

  //执行带有增量的插入排序(这里的插入排序一定要从右往左来查找合适的位置)

  //当前需要进行几次这样的增量插入排序

  //!!!书中的代码漏掉了这一层的for

  for(int i=0;i<Incremental;i++)

  {

  for(int out=Incremental+i;out<list.size();out+=Incremental)

  {

  int index=out;

  int cache=list.get(out);

  //为该值寻找合适的位置

  for(int in=out-Incremental;in>=0;in-=Incremental)

  {

  //小的都往右移动

  if(cache<list.get(in))

  {

  list.set(in+Incremental, list.get(in));

  index-=Incremental;

  }

  }

  //插入到最终的位置

  list.set(index, cache);

  }

  }

  //减少增量

  Incremental=(Incremental-1)/3;

  }

  return list;

  }

  没有写泛型,只是一个练习,不过我这个应该就是正确的代码,书中少的部分已经在代码里圈出来了。

  大家可以看看我说的对不对。

  对了我看的是第二版,不知道第一版是不是这样

  看了下评论貌似其他的代码也有一些错误,还好我当初学的时候就没怎么看代码都是自己写的,哈哈。

  到时候如果再找到别的错误还会一并贴出来

评价:

[匿名评论]登录注册

评论加载中……