码迷,mamicode.com
首页 > 其他好文 > 详细

读后感 《大话数据结构》

时间:2017-08-17 00:43:27      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:经历   实际应用   类库   忘记   就业   计算机语言   序列   草稿   只读   

       良性循环

技术分享

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

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

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

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

 

       数学公式与编程

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

 

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

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

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

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

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

技术分享

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

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

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

 

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

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

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

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

      

 

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

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

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

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

      

技术分享(先出图,再出文字说明)

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

 

 

技术分享

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

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

      

技术分享

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

 

技术分享

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

 

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

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

 技术分享

 

技术分享这个数据结构才是项目需要的。高级语言中有的是    技术分享,需要有智慧的人对原有的数据结构模板进行改造!

 

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

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

读后感 《大话数据结构》

标签:经历   实际应用   类库   忘记   就业   计算机语言   序列   草稿   只读   

原文地址:http://www.cnblogs.com/jizuiku/p/7376407.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!