1、基本概念和术语
1.数据:数据是信息的载体,能够被计算机识别、存储和加工处理,数据包括文字、表格、图像等。
2.信息:信息是数据的内涵,即数据所表达的意义。
eg:通过统计后产生某课程的平均分是86,这里86是数据,表示某课程的平均分的信息。
3.数据的基本单位是数据元素(有时称为元素、节点或记录等),通常把数据元素作为一个整体进行处理。
eg:一个班的学生数据包括张三、李四等数据元素。
4.数据元素(data element):数据的基本单位,也称结点(node)或记录(record),有时一个数据元素包括可以由若干个数据项组成。
5.数据对象是具有相同类型的数据元素的集合
6.数据项:有独立含义的最小单位,也称域、属性、字段。
三者之间的关系:数据 > 数据元素 > 数据项
eg:学生表 > 个人记录 > 学号、姓名
7、数据结构是相互之间存在一种或多种特定关系的数据元素的集合。这些数据元素不是孤立存在的,而是有着某种关系,这种关系构成了某种结构。数据元素之间的关系多种多样,这里只讨论数据元素之间的相邻关系。
8.数据结构包括:数据逻辑结构,数据储存结构,数据运算。
2、逻辑结构
1.定义:数据元素之间的逻辑关系的整体称为数据的逻辑结构,逻辑关系主要是指数据元素之间的相邻关系。
2.逻辑关系的基本结构划分
A.划分方法一 :
线性结构:有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个后继。 例如:线性表、栈、队列、串。
非线性结构:一个结点可能有多个直接前趋和直接后继。 例如:树、图。
B.划分方法二:
集合:包含的所有数据元素同属于一个集合,数据元素之间没有关系。
线性结构:包含的所有数据元素之间存在一一对应关系。
树形结构:包含的所有数据元素之间存在一对多的关系。
图形结构:包含的所有数据元素之间存在多对多的关系,也称网状结构。
3、存储结构
1.定义:数据逻辑结构在计算机存储器中表示称为数据的存储结构(或存储表示),也称为物理结构。通常情况下,同一种逻辑结构可以设计多种存储结构,在不同的存储结构中,实现同一种运算的算法可能不同。
2.分类
A.顺序存储结构
定义:
顺序存储结构是采用一组连续的存储单元存放所有的数据元素,而且逻辑上相邻的元素的存储单元也相邻。也就是说,元素之间的逻辑关系由存储单元地址间的关系隐含表示,即顺序存储结构将数据的逻辑结构直接映射到存储结构。
优点:顺序存储结构的主要优点是节省内存空间,可以实现数据元素的随机取放。
缺点:顺序存储结构的主要缺点是不便于修改,在对元素进行插入或删除运算时需要移动一系列的元素。
B.链式存储结构
定义:链式存储结构每个节点单独存储,无需占用一整块存储空间,但是为了表示结点之间的关系,给每个结点附加指针字段,用于存放相邻节点的存储地址。每个结点由两部分组成,一部分用于存放结点的数据,另一部分用于存放后续结点的首地址。
优点:链式存储结构的主要优点是便于修改,在对元素进行插入或删除运算时,只需要修改结点的指针域,不必移动结点。
缺点:链式存储结构的主要缺点是存储空间利用率较低,因为分配给数据元素的存储单元中有一部分被用来存放结点之间的逻辑关系了。由于逻辑上相邻的结点在存储器中不一定相邻,所以用这种方法存储的线性结构中不能对结点进行随机取放。
C.索引存储结构
D.哈希(散列)存储结构
基本思想:
哈希(散列)存储结构以结点的关键字k为自变量,通过一个确定的函数关系f,计算出对应的函数值,再把这个函数值解释为结点的存储地址,将结点存入到f(k)所指示的存储位置上,在查找时再根据要查找的关键字,用同样的函数计算地址,然后到相应的单元中读取。
特点:



