数据结构-从宏观上理解数据结构

注:本博文是本人对数据结构的理解,很多地方理解可能并不恰当,还请读者辩证的来学习

从宏观上理解数据结构

很多时候我们一直在埋头苦干,却不知道为什么这样......

             工作一年之后,重新回想一下大学里学的数据结构,发现所剩的寥寥无几,当提起某一种数据结构脑海中大体也只剩下了简单的定义,如跳表,也只是模糊记得是在一个有序链表上添加额外的指针来加快搜索速度,其他的似乎什么都不记得了,记得当时在学习数据结构时对跳表的理解还是蛮深刻的,然而时间一长却忘掉了关于跳表的大部分内容。之所以忘得这么快,一方面是由于没有时常复习外,还有另外一个重要原因就是当时没有从宏观上去理解数据结构,没有将跳表的知识与其他相关的知识联系起来,以至于让这么一个孤零零的知识很快就遗忘了。其实学习就是这么一个过程,在学习某个知识时,如果搞不懂它的原理或者不能将它与自己熟悉的知识联系起来,这个知识可能很快就会遗忘,如果能够联系起来,那么在平常生活中,你通过对自己熟悉的知识的运用可能自然而然的就联系到这个知识点,也就起到巩固这个知识的作用。知识就是这样一个不断积累的过程,千变万化的思维终归还是对信息的一种存储和处理,不选择一种合适的存储方式去存储信息,存储的信息量就少或处理就变得很低效。信息的处理效率低除了你的生理机能影响外你的思维方式也有很大的影响。类比计算机的处理信息能力,影响因素除了本身的硬件性能外,软件如何实现也有很大的关系。数据结构就是教授我们在除硬件影响外,我们该如何提高我们的程序性能的这样一门课程。

              闲话扯了不少,但那终究还是硬道理。下面我就根据自己的经验来为大家阐述一下如何从宏观上来理解数据结构,以便让大家能够将自己所学的数据结构知识有个宏观的认识,进而方便以后对数据结构知识的拓展。

1.数据结构对编程为什么如此重要?

     现在就根据我自己的体会来为大家阐述一下数据结构对我们编程为什么如此重要。记得在开始学习编程的时候,对数据结构没什么概念,感觉编程就是那么回事,不用数据结构也能编出一大堆程序,然而我只能说那都是些小孩子过家家玩的小程序而已,程序中几乎没有用到多少数据,无论你怎么存储,程序运行起来都是很快的。然而当你为工程应用去编写程序的时候,那都是处理大批的数据,那时候就不能随便乱存储数据了,必须根据实际情况选择一种合适的数据结构来存储数据,从而能够大大提高数据的处理效率。举个例子,我们平时经常用到的排序也算是对数据的处理,我们选择不同的排序算法效率是不同的,当数据量很小时,我们感觉不出它们的差异,然而当我们对大量数据进行排序时就能感觉出它们的效率来。当然在排序时排序策略是很重要的,然而这些策略有时是依赖于必要的数据结构的。如插入排序、选择排序、快速排序等可能依赖的只是线性表,而堆排序就依赖于堆了。因此选择一种好的数据结构可能会大大提高程序的运行效率,而且解决问题时的某中策略可能也要依赖于具体的数据结构。

2.什么是数据结构?

     我们知道了数据结构对编程的重要性,那究竟什么是数据结构呢?首先来看一下数据结构诞生的目的。在现实世界中存在着大量的数据,而这些数据不管以何种方式存储,都需要使用一种结构来表示,而这种结构不仅能够表示数据元素本身,还能够表示数据元素之间的关系,最

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值