一、在学到第一章什么是数据结构时?得先知道什么是数据。正所谓巧妇难为无米之炊,在强大的计算机,也得有米才能下锅,才能做成饭。在计算机里这个“米”就称为数据。
数据
数据:数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的的符号集合。
我们在这里所说的数据,其实就是符号,而且这些符号必须具备两个前提
·可以输入到计算机中
·能被计算机程序处理
数据元素
数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。
比如一条单链表中,有很多个节点构成,而这个节点就可看作是一个数据元素。
数据项
数据项:一个数据元素是有若干个数据项构成的。
比如定义学生结构体,在创建一个学生的结构体变量,这个学生变量的各项成员变量就类似于数据项。
数据对象
数据对象:是性质相同的数据元素的集合,是数据的子集。
数据结构:是相互之间存才一种或多种特定关系的数据元素的集合。
逻辑结构和物理结构
逻辑结构:是指数据对象中数据元素之间的相互关系。
逻辑结构可以分为以下四种:
1.集合结构:集合结构中除了同属于一个集合外,他们之间没有其他关系,数据元素之间都是平等的。
2.线性结构:线性结构中的数据元素之间是一对一的关系。
3.树形结构:树形结构中的数据元素之间存在一对多的层次关系。
3.图形结构:图形结构中的数据元素是多对多的关系。
物理结构
物理结构:是指数据的逻辑结构在计算机中的存储形式。
数据元素的存储结构形式有两种:顺序存储和链式存储。
顺序存储结构
顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
链式存储结构十分灵活,但注意链子千万别断,断了可就麻烦了。
树形结构的物理存储方式,也可以是线性的。
比如二叉树在内存中可以用数组进行存储。
抽象数据类型:可以理解为如果需要存储平面坐标系上点的坐标,可以建立名为point的结构体,里面有成员变量int x;int y;,再利用该结构体创建变量,就可以利用我们自己定义的数据点了。