数据结构绪论
数据
定义:数据是信息的载体,所有能被输入到计算机中,且能被计算机处理的符号的集合。
例:在生活中的各种信息都可以作为数据来进行输入和处理。eg:图片·身份信息等。
数据元素
定义:数据元素是数据的基本单位,常被作为一个整体来考虑。
例如:每个学生信息就是数据元素
数据项
定义:数据项是构成数据元素的最小单位,一个数据集元素可能有多个数据项。
例:学生信息中包含的姓名,年龄,所在班级等信息是数据项。
数据对象
定义:具有相同性质的数据元素的集合,是数据的一个子集。
例:所有学生的信息可以作为一个数据对象。
数据类型
定义:是一组值的集合和定义在该集合上的操作的总和。
其中有原子类型(不可分割),结构类型(多个原子类型值的组合),抽象数据类型。
数据结构
定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
例:学生表中,张三排在李四的上面,这样有相互的关系的数据集合表可称之为结构。
数据结构三要素:数据的逻辑结构,数据的存储结构(物理结构),数据的运算
逻辑结构分为线性结构和非线性结构,线性结构包括线性表,栈队列,数组,串
非线性结构包括集合,树,图。
数据的逻辑结构:
概念:指数组元素之间的逻辑关系。它更贴切与显示关系来描述数据,比如数组,我们认为他存储是连续存储的,不管他底层物理怎么存在
集合:
数据元素同属于一个集合,单个元素之间没有任何关系
线性结构
数据元素是一对一的。
树形结构
数据元素之间是一对多的。
图形结构
数据元素之间是多对多的关系。
数据的存储结构分为顺序存储(逻辑相邻,实际存储位置也相邻),链式存储(逻辑相邻,逻辑存储位置可能不相邻),散列存储(哈希存储),索引存储(利用附加索引表)。
顺序存储:把数据元素放在地址连续的存储单元里面,其数据间的逻辑关系和存储关系是一致的。
例如
链式存储:是把数据元素存储到任意的存储单元里面,这组存储单元可能是连续的也可能是不连续的。
题目:
1.数据的基本单元是(数据元素)
2.以下数据结构中,(A)是非线性数据结构。
A.树 B.字符串 C.队 D.串
3.以下与数据的存储结构无关的术语是(c)
a.顺序队列 b链表 c.有序表 d.链栈
我们很容易把有序表和顺序表链表相提并论,这是错误的,因为顺序表和链表是根据线性表的存储结构(顺序或链式)来划分概念的,而有序表是根据数据元素的数值大小来划分的。
4.在数据结构中,从逻辑上可以把数据结构划分为(线性结构和非线性结构)
5.线性结构中数据元素的位置之间存在(一对一)的关系