读后感 《大话数据结构》

珍惜现在
勿忧未来
良心自在

礼悟:
   公恒学思合行悟,尊师重道存感恩。叶见寻根三返一,江河湖海同一体。
虚怀若谷良心主,愿行无悔给最苦。读书锻炼养身心,诚劝且行且珍惜。
  书籍图片

0

个人对书籍的评价

适合零基础的新手学习数据结构。这本书专业名词的数量中等偏少,看起来较为流畅。这本书一共400多页,薄厚适中。有创新意识,内容的编排挺好的。粗看第一遍后,写下了这篇感想,之后还要看第二遍,第二遍就是细看了。总而言之,这本书优秀!

   良性循环

1

   **阅读书籍是在进行理论研究。**

   **只读书而不去实践,就会出现“百无一用是书生”的情况。**

   **基于社会需求的实践才会带来物质财富。**

   **获得精神财富是没有门槛的,只要你愿意去发现、愿意去找寻智慧及真善美,你就可以****寻得到。**



   数学公式与编程

   我写过 1+2+3+4+5+…+100的各种循环实现求和,但是没有一次意识到这个序列是一个等差数列。高中时候讲的、反复强调的知识居然被我忘记了。在这本书中,指出了该序列是等差数列,1到100求和可以使用求和公式时,有种挫败感从心底生出,不由得对数学产生了新的认识。

看完一章,敲一章的代码?不!

   刚开始我想的是,每看完一章节的书,就动手敲完该章涉及的所有代码。但是,当我看完第三章线性表之后,我对这个想法就不是那么赞同了。

   为什么?效率问题!数据结构太多,每个结构又有诸多的代码,现在我是在备考研究生,时间极其有限,要强调效率。还有一个问题,就是我需要尽快地将一门编程语言向实际应用靠拢,尽快地提升自己的能力,解决就业技能问题。因为如果我有一项能够在社会中立足的技能,那么我备考研究生的时候,我的内心将是平和的、是安宁的、是无畏的。

   所以,经过认真地思考,我决定通过阅读这本书籍来领悟各个基本数据结构特点,以后通过用数据结构解决实际问题的方式,来促进数据结构及算法的掌握。

   改进后的学习方法可以用下图来表示:

2

   我先去领悟各个算法的特点、各个数据结构的特点,基本领悟后,开始做项目。

   在项目1中,用到了算法A和数据结构1,那么我就专门学习算法A和数据结构1。学习完成后,项目1完成,新学了两个知识。在项目2中,用到了算法C和数据结构3,那么我就专门学习算法C和数据结构3。学习完成后,项目3完成,新学了两个知识。

   我认为这种学习方法是最好的,但是关键点就在于找到适合的项目!如果能遇到循序渐进而且贴合实际的项目,那么进步会是飞快的。



   零基础的新手一定要来数据结构这里凑热闹

   在数据结构这里,新手一定要来凑热闹,因为它里面有许多很巧妙的结构。第一遍看这本书的话,要像到博物馆一样,认真地鉴赏每个数据结构,就看每种结构的特点和操作。在你看完基础的各种结构之后,真的会收获、会有启发的。我看完之后的感想就是:怎么想到的,好巧妙呀!遇到一个棘手的问题,居然通过升级原有的结构就将其顺利解决。然后新的结构应用中又遇到棘手的问题,然后通过升级结构再次将其顺利解决。科学家就是科学家,强!

   第二遍我建议,拿出一个草稿纸、配备一个专门的记录本,一页一页地分析,记录自己的感悟,仔细地研究每个数据结构进行记录,用自己的语言去描述它。

   第三遍时,时机成熟了,可以敲代码了。因为有了第二遍用自己语言描述的经历,那么将数据结构用计算机语言写出,就变得轻松了!

  



   为什么要学习数据结构?/*同文并茂,读后感的精华所在*/

   我在阅读这本书之前,心中就有这个问题,队列栈链表在高级语言中都有现成的类库呀,为什么还要去学习它的原理呢?我会用不就好了吗?

   通过阅读这本书籍和自己的感悟,这个问题 有了满意的答案。下面是我个人的见解,只能仅供参考了。

   学习数据结构是认识一个个基础模型的过程,每个数据结构都会配备对应的算法,相当于学数据结构送配套算法。

3

(先出图,再出文字说明)

  上图的文字说明。有一个数据结构A,结构A有配套的算法。算法中实现遍历功能的有三个算法,分别是BL1/BL2/BL3。这三种算法思想不同,各有长处。

4

  上图的文字说明。有一个数据结构B,结构B有配套的算法。算法中实现求和功能的有两个算法,分别是QH1/QH2。这两种算法思想不同,各有长处。

   在面对实际生活中的复杂问题,需要在众多数据结构中挑选出来一个适合的数据结构。这就是数据结构的查与选。

5

假设在当前的需求下 数据结构A是最适合的,需要进行遍历,那么就出现配套算法的选择。

   实现遍历功能的算法有两个,根据两个算法的特点,挑选出最适合当前项目的那一个算法。这就是算法的查与选。

6

   数据结构及其配套的算法选好后,就相当于找到了最适模板。然后,我这个需求数据结构A可以满足,但是还需要添加一个小的辅助标识变量。这个时候,就需要对数据结构A进行改造->这就是数据结构的增!

   增之后,又发现新的数据结构中有冗余部分,将其删除后可以提到程序运行效率,这个就是就需要对 增后的数据结构A进行改造 ->这就是数据结构的减!请看下面的图片。

这里写图片描述

这里写图片描述这个数据结构才是项目需要的。高级语言中有的是 这里写图片描述 ,需要有智慧的人对原有的数据结构模板进行改造!

   所以,学好数据结构及其配套算法是很重要的。高级语言中是有队列栈链表的模板,但那些都是最基础的、最原始的,在实际项目中都是对其升级改造的。网络上的公开的优秀算法是有许多,但是每个算法的最适环境是不同的,只有熟悉各个算法的特点才可以针对当前的环境,在同类算法中挑选出最合适的那一个。

  以上的文字及图片就是我的读后感以及针对 为什么要学习数据结构 领悟到答案。仅供参考!/*写这个读后感,一个晚上过去了,好累。希望看的人能有启发!↖(^~^)↗*/

2017-12-27

给最苦 观看到这篇读后感的阅读量是第一。

《大话数据结构》的作者程杰在博客园也有博客,网址是:http://cj723.cnblogs.com/

想走好自学的道路,需要 坚韧不拔之志与极高的智慧。
  上述的内容是 给最苦 在自学道路上的所见所闻所感。每个人的特点是不同的,所以如果觉得此文适合自己,那么可以再仔细看看。如果觉得不适合,那么从中找到一两个有启发性的观点即可。总之,适合自己的才是最好的。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值