在IT行业说到数据,我们很容易就会想到整型,浮点型,还包括音频,视频,图像。整型,浮点型可以进行数值运算,音频,视频,图像数据可以通过编码手段手段变成字符数据来处理。同时他们都有一个共同的特点,可以输入到计算机当中,能被计算机程序处理。数据相互之间存在一种或多种特定关系的数据元素的集合,这是数据结构的概念,我们可以概括为四个字就是“数据集合”。它是一堆数据,而不是一个数据,另外数据和数据之间存在一定的关系,这种关系是指一对一的关系,或一对多的关系,或者多对对的关系。想要开发一款好的app软件或者项目,必须要分析待处理数据对象的特性以及各处理数据对象之间存在的关系,这也是研究数据结构的意义所在。
数据
数组
一、逻辑结构指的是数据元素之间存在的关系,比如逻辑结构又分为集合结构、线性结构、树形结构、图形结构。
1.集合结构:集合结构中的元素除了属于一个集合之外,他们之间没有其他的关系,各个数据元素是平等的,他们共同的属性就是“属于同一个集合”。
2.线性结构:线性结构中的数据元素之间是一对一的关系。
3.树形结构:树形结构中的数据元素之间是一种一对多的层次关系。
4.图形结构:图形结构中的数据元素之间是一种多对多的关系。
二、物理结构是指数据的逻辑结构在计算机中的存储形式,比如物理结构又分为顺序存储结构、链式存储结构。
1.顺序存储结构
把元素存在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的,这种数据结构很简单,就是排队站位,大家都按照顺序排好,每个人占一小段空间,大家谁也别插谁的队,数组就是这样的数据结构。当你告诉计算机,你要建立一个有9个元素的数组时,计算式就在内存中找了片空地,按照一个整形所占位置的大小乘以9,开辟一段连续的内存空间,于是第一个数组元素就放在第一个位置,第二个元素放在第二个位置,这样依次摆放。
2.链式存储结构
在日常生活有很多这样的情况,我们去银行办理业务,或者去火车站去买票,都有这样的经历,一会儿有人插队,一会儿有人上厕所放弃排队,这样队伍当中就会添加新的成员,也有可能去掉老的元素,整个结构时刻都处于变化当中,显然,面对这样时长要变化的数据结构,顺序存储是不科学的。
Friendship link