1、什么是数据?
数据(data)是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中
并可以被计算机程序处理的符号的总称。
数据元素(data element)是数据的基本单元,在计算机程序中通常作为一个整体进行考虑和处理。
一个数据元素可由若干个 数据项(data item)组成。数据项是数据的不可分割的最小单位。
数据对象(data object)是性质相同的数据元素的集合,是数据的一个子集。
2、什么是结构?
结构: 数据元素之间的关系的不同性质称为结构(structure)
根据数据元素之间的关系的不同性质,通常有以下4类基本结构:
1)集合: 结构中的数据元素之间除了"同属于一个集合"的关系外,别无其他关系。
2)线性结构:
3)树状结构:
4)网状结构:
3、什么是数据结构?
数据结构的形式定义: 数据结构是一个二元组,Data_Structure = (D,S)
其中: D是数据元素的有限集,S是D上关系的有限集(数据元素之间的关系的集合)
在IT界有一句话, 程序 = 数据结构 + 算法
注意: 结构定义中的"关系"描述的是数据元素之间的逻辑关系,因此又称为数据
的逻辑结构,而数据结构在计算机中的表示(又称映像),称为数据的物理
结构,又称为存储结构。
线性结构(线性表)
例子:26个英文字母(A,B,C,D..),一个班级里的学生的学号,时间
线性表中的数据元素可以是各种各样的,但同一线性表中的元素必定具有
相同的特性,即属于同一个数据对象,且相邻数据元素之间存在着序偶关系。
若将线性表记为:(a1,a2,a3,...an),这些元素有以下特点:
1) 存在唯一的一个被称为"第一个"的数据元素;
2) 存在唯一的一个被称为"最后一个"的数据元素;
3) 除第一个元素外,集合中每个数据元素均只有一个前驱结点;
4) 除最后一个元素外,集合中每个数据元素均只有一个后驱结点。
线性表的物理结构实现(在计算机中怎么存储线性表的):
1) 顺序结构
线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表中的
数据元素。
==> 数组
2) 链式结构(链表)
链式存储用的是地址不一定是连续的存储单元
无头结点的单链表(LinkedList.c)
有头结点的单链表(LinkedListWithHead.c)
双向链表(BothwayLiknedList.c)
循环链表(CircleLinkedList.c)
数据结构的基本操作:创建和销毁
常见叫法:增、删、改、查