在我们现实生活中,我们处理一件事情的时候,往往不只是处理单单的一个数据,也就是说你处理的是一个数据的集合体。
我们设想这些数据是有一定的关系的。比如说,用到数据a ,接下来就会用到数据 b . 可以看出a与b数据存在着某种密切的关系。下面分成两个场景来思考这个问题:
1. a , b之间的关系并没有进行显式的存储
我们可以设想有一个机器M ,M接受了a的数据,那么接下来就会需要b的数据(之所以会需要b,是因为由a以及 一些条件决定的这个原因)。然后我们又会从一个集合中去搜寻b的存在。
总结一下,步骤就是 : 处理 a , 得到一定的规则 ,搜索 满足规则的b 。(搜索本身会浪费掉相当的时间,仔细思考一下你会发现计算机耗时的操作往往都是浪费在搜索这方面)
2. a , b之间关系进行明显的存储。(形成了一定的数据组织结构(数据结构))
为了将 1 中提到的问题降到最低,我们需要想办法降低搜索的次数。a , b 之间有着某种必然的联系,并且这些坚定的关系在未来很长一段时间是不会改变的。
所以我们想到了某种办法将a,b数据组织到一起,一旦组织到一起他们的共同出现的这种关系也就出现了。
设想一台机器M , M 接受数据 a ,同时a处于一个更大的组织中,在这个组织中找到b .(这个过程将搜索空间降低了非常非常的多)
3.数据结构意义的思考
数据结构的意义在于:
- 将有关系,关系密切,有着某种贡献关系的数据组织到一起。
- 当数据以适当的方式组织到一起的时候,是可以形成一定的组织规律的。(通过这些规律便能够实现快速的定位)
- 关于组织规律,我觉得还是有必要举一个例子的: 图书馆里面有很多书,如果这些书没有任何分类,全部混作一团。那么当我们进行查找时会浪费大量的时间,可能每次查找都需要查询一半的书。 而书籍以正确的分类方式摆放,那么我们便可以确定去几楼寻找,去哪个区域寻找······
- 数据的合理的组织,是提升效率的一种方式。 所以不要怕花费时间来组织你的数据。
- 面向对象也是一种组织数据的方式,只不过这些更倾向于将客观世界的东西映射到对象中。(事实上就我们中一个人而言,我们自己身体所包含的部分都是连在一起的,也就是说你找到我的左手,就能够轻易找到我的右手,应为规律决定了我的右手在左手的另一侧,而不会去距离我1000米去寻找我的右手,这就大大减小了人们搜索的空间,这也形象的说明了数据存在的价值)
- 当你仔细观察自然的时候,你会发现自然中大部分事物(数据,细胞等等)是组织到一起的,很少有孤立的。有组织性是大自然普遍存在的一个规律,是大自然进化的产物。让事物变得更加有效率。