数据结构存在的意义

在我们现实生活中,我们处理一件事情的时候,往往不只是处理单单的一个数据,也就是说你处理的是一个数据的集合体。

我们设想这些数据是有一定的关系的。比如说,用到数据a ,接下来就会用到数据 b . 可以看出a与b数据存在着某种密切的关系。下面分成两个场景来思考这个问题:

  1. a , b之间的关系并没有进行显式的存储
    我们可以设想有一个机器M ,M接受了a的数据,那么接下来就会需要b的数据(之所以会需要b,是因为由a以及 一些条件决定的这个原因)。然后我们又会从一个集合中去搜寻b的存在。

总结一下,步骤就是 : 处理 a , 得到一定的规则 ,搜索 满足规则的b 。(搜索本身会浪费掉相当的时间,仔细思考一下你会发现计算机耗时的操作往往都是浪费在搜索这方面)

  1. a , b之间关系进行明显的存储。(形成了一定的数据组织结构(数据结构))
    为了将 1 中提到的问题降到最低,我们需要想办法降低搜索的次数。a , b 之间有着某种必然的联系,并且这些坚定的关系在未来很长一段时间是不会改变的。

所以我们想到了某种办法将a,b数据组织到一起,一旦组织到一起他们的共同出现的这种关系也就出现了。

设想一台机器M , M 接受数据 a ,同时a处于一个更大的组织中,在这个组织中找到b .(这个过程将搜索空间降低了非常非常的多)

3.数据结构意义的思考

数据结构的意义在于:
将有关系,关系密切,有着某种贡献关系的数据组织到一起。
当数据以适当的方式组织到一起的时候,是可以形成一定的组织规律的。(通过这些规律便能够实现快速的定位)
关于组织规律,我觉得还是有必要举一个例子的: 图书馆里面有很多书,如果这些书没有任何分类,全部混作一团。那么当我们进行查找时会浪费大量的时间,可能每次查找都需要查询一半的书。 而书籍以正确的分类方式摆放,那么我们便可以确定去几楼寻找,去哪个区域寻找······
数据的合理的组织,是提升效率的一种方式。 所以不要怕花费时间来组织你的数据。
面向对象也是一种组织数据的方式,只不过这些更倾向于将客观世界的东西映射到对象中。(事实上就我们中一个人而言,我们自己身体所包含的部分都是连在一起的,也就是说你找到我的左手,就能够轻易找到我的右手,应为规律决定了我的右手在左手的另一侧,而不会去距离我1000米去寻找我的右手,这就大大减小了人们搜索的空间,这也形象的说明了数据存在的价值)
当你仔细观察自然的时候,你会发现自然中大部分事物(数据,细胞等等)是组织到一起的,很少有孤立的。有组织性是大自然普遍存在的一个规律,是大自然进化的产物。让事物变得更加有效率。

https://blog.csdn.net/TheSnowBoy_2/article/details/52088804
数据结构的重要性
用计算机解决实际问题,首先要做的事情就是要把涉及问题的相关信息存储到计算机中,也就是需要把问题的信息表示为计算机可接受的数据形式,然后根据问题处理功能的要求,对存储到计算机中的数据进行处理。归结为一句话,用计算机解题首先要用合理的结构表示数据,然后才能根据相应的算法处理结构,而数据表示和数据处理正是数据结构学科要研究的内容。
《数据结构》主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法的分析与评价。
商用程序员李申在他的博客中写到:“这么多年,我做过游戏、通信、工业控制、教育、VoIP、服务器集群等各个方向的项目,不可谓不宽”。
但是我知道的是,其实我都是在用同一种方法写程序。那就是从最底层的数据结构和算法开始做起,用最基本的C、C++语言开发。用来用去,还是那么几个数据结构,队列、堆栈,等等。
这就好比武侠小说里面的内功,内功修好了,学招式,非常容易。但如果没有内功,练再好的招式,见到高手就软了。一力破十慧,就是这个道理。在绝对的实力面前,任何花招都是没有用的。对清华大学计算机系历届毕业生和部分研究生追踪调查显示,几乎所有的学生都认为《数据结构》是他们在学校里学过的最有用的课程之一

原文:https://blog.csdn.net/u010918201/article/details/52815239

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值