数据结构学习的心得感悟

之前大一的时候开过数据结构这门课,不过学过之后也不知道学这个是用来做什么的,现在大三下半年了要为找实习找工作做准备,又拿起数据结构狂啃,不过已经不是当初那种挺迷惑的不知道所以然的心情了,我想这就是在实践中渐渐领悟到有些东西的缘故吧。作为一名IT专业的学生,只有理论知识,不实践,是没有前途的,因为有些东西你只有在动手的过程中,才能更好更深层的去理解它,在发现问题时运用所学的知识去解决问题,在这个过程中你会不断地成长,接受技术知识的能力也会不断地提升。

 

说说现在我对数据结构的理解吧,首先,从概念上来说数据结构是一种类型和定义在该类型上的一组操作,其次,我们学数据结构到底是用来干什么的呢?我觉得数据结构是一种能够优化我们程序性能和效率的东东,就我们要解决的具体问题所要求的资源限制(运行时间和存储空间)和达到的性能需求来说,如果我们能够选择合适的数据结构来存储数据,那么在编写程序的过程中,我们对数据的一些操作将会便于实现,实现操作的时间复杂度也会降低,这样程序的效率会提高。例如,散列表和B+树这两种数据结构都支持高效的记录插入和删除操作及精确匹配,但是在匹配查询方面,散列表更为有效,而在范围查询方面,B+树更加有效,所以在选择数据结构时,应该视具体问题的具体需求来选择合适的,更为有效的数据结构。

 

看到书上说,水平不高的程序设计人员往往忽视了分析问题的过程,直接选用一种惯用的,熟悉的但与问题不相称的数据结构,结果设计出一个低效率的程序。确实是这样,平时我们(编程水平还不太高的这一类人)在编程的时候,可能不会想那么多,一想自己熟悉的会用的数据结构能够解决当前问题,便会拿它来存储数据,比如最常用的数组,线性表等。我想也许是现有问题中的数据量还并不是很大,所以数据结构选择的合适不合适没有在程序运行时间或占有的存储空间上很明显的反映出程序性能的好坏,我们也不会觉察或意识到我们错误的设计。不过,如果简单的设计就能达到性能目标时,选用复杂的数据结构也是没有道理的。

要想在问题中选择合适的数据结构,就必须对每一种数据结构都透彻的掌握(理论,实现),加上自己在编程中积累的经验,才能达到目的。以数据为中心,首先确定问题中数据和对数据的操作,然后确定数据的表示方法,最后实现数据表示(我们可以自己定义自己想要实现的数据结构)。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值