数据
能输入计算机并能被计算机处理的各种符号的集合。
是信息的载体,是对客观事物符号化的表示,能够被计算机识别、存储和加工。
包括数值型数据(整数,实数等)和非数值型数据(文字,图像,声音,图形等)。
数据元素和数据项:
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理,例如上图中的一条学生信息,我们新增一个学生,需要生成学号,录入姓名性别等信息,这是一个整体。也简称为元素或者记录(线性表中)、结点(树)、顶点(图)等。
数据项是构成数据元素的不可分割的最小单位,比如图中的,学号,姓名,性别等。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
比如,学生表是数据,数据元素就是每一个学生的记录,数据项就是表的每一个列,数据对象就是符合某个条件的学生记录的集合,例如都是男生,或者都是党员。
数据结构
数据元素不是孤立存在的,它们之间存在某种(一种或多种)关系,这种关系就是结构,我们也可以说,数据结构就是带结构的数据元素的集合。
数据结构包括以下3方面内容:
1.数据元素之间的逻辑关系,称为逻辑结构;
2.数据元素极其关系在计算机内存中的表示,称为数据的物理结构或存储结构;
3.数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。
逻辑结构
一般分为这4种
1.集合,数据元素之间除了同属于一个集合之外,再无其他关系;
2. 线性结构 ,一对一关系,除了第一个元素,每个元素都有前驱,除了最后一个元素,每个元素都有后继;
就比如我们数据库表中的记录,就是线性的,比如学生表,就是按学号顺序排下来的记录,所以也叫线性表。
3. 树形结构,一对多,从根节点长出一个个的分支,看上去像一棵树,最形象的例子就是我们电脑里的文件夹,父文件夹下有多个子文件夹,但是子文件夹只有一个父文件夹;
4. 图结构 ,多对多关系,例如地图导航,从a点到d点有多条路线,比如abcd,也可以acbd,甚至abd,acd这种像网状的关系。
存储结构
1.顺序存储结构,用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示,数据元素的顺序就是存储位置的顺序。
2.链式存储结构,用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针(地址)来表示,也就是一个存储单元不仅存储这个数据元素,也存储下一个数据元素的地址信息。
3.索引存储结构,在存储结点信息的同时,还建立附加的索引表,类似我们手机的通讯录一样,先通过首字母找到数据元素的位置,然后直接找到。
4.散列存储结构,根据结点的关键字直接计算出该结点的存储地址,后续在散列中详细说明。