数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关
image.png数据
数据是表述抽象事物的数值、字符、以及其他由可以输入计算机中并由计算机程序进行加工处理的集合,是计算机操作对象的总称, 用于描述客观事物。
数据的特点:1️⃣ 可以输入到计算机 2️⃣ 可以被计算机处理
数据对象(数组)
数据对象是指具有相同性质数据元素的集合,是数据的一个子集。
数据元素(Model):
数据元素是数据的基本单位,它也可以再由不可分割的数据项组成
数据项(Propety)
组成数据元素的最小单位, 一个数据元素由若干数据项组成
数据结构
数据结构有两种视角,可分为两种:逻辑结构与物理结构。
1. 逻辑结构
逻辑结构指在数据中数据元素之间的相互关系。可分为:
-
线性结构
结构关系是一对一的,并且是一种先后的次序。主要特征为存在唯一的被叫做第一个和最后一个数据,除第一个元素之外每个数据元素均有⼀个前驱。除最后一个元素之外每个数据元素均有一个后继。表现形式为:线性表、栈和队列、字符串(特殊的线性结构)
image.png -
非线性结构
2.1. 集合结构
集合结构是所有数据都属于同一个集合,数据的存放是杂乱无章的没有先后顺序可言。
image.png
2.2. 树形结构
树形结构就是一种一对多的逻辑关系。所有一对多的逻辑关系都是树形结构。例如:二叉树等
image.png
2.3. 图形结构
图形结构是一种多对多的逻辑关系。所有多对多的逻辑关系都是图形结构。
image.png
2. 物理结构
所有的数据最终都会来到我们的计算机的内存中来,在计算机中的存储方式分为两种:
-
顺序存储
在内存中开辟一段连续的内存空间,将数据存放进去,所以使用顺序存储结构必须要明确的知道要开辟多大的内存空间。
优点:可以根据数据的下表地址来读取修改数据。
缺点:因为开辟的空间是固定的,所以无法对这个数据空间进行扩容。并且一旦开辟空间,无论使用空间使用与否,这片内存始终占据。
image.png -
链式存储
在内存中开辟一小段空间用来存储第一个数据的值与第二个数据的存储地址。第二个数据所在的地址存储着第二个数据值与第三个数据的存储地址。这样只要内存空间足够,就可以无限的开辟空间用来存储,即用多少我就开辟多少空间。
优点:一个数据紧接着一个数据,不需要提前开辟一个固定的空间,空间利用率极大的提高
缺点:查找数据必须要从头开始一个一个的往下查找,对于极度庞大的数据进行操作消耗的时间会很长。
image.png
数据类型
1、定义:数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
例:C语言中的整型,其内涵为一定范围的自然数集合,及定义在该集合上的加减乘除及取模、比较大小操作。而实型则无取模操作。当然整型也不需四舍五入。
2、数据类型的种类:
原子类型 : 值在逻辑上不可分解 eg:int float
结构类型: 值由若干成分按某种结构组成 eg: struct stu
数据类型封装了数据存储与操作的具体细节。
网友评论