1. 绪论
1.1 数据结构的基本概念
数据结构
:按某种逻辑关系组织起来的一批数据,按一定的映象方式把它存放在计算机存储器中,并在这些数据上定义了一个运算的集合。数据(Data)
: 数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。数据元素(Data Element)
:是组成数据的基本单位,是数据集合的个体,在计算机中通常作为一个整体进行考虑和处理。数据元素
是数据的基本单位
,数据元素可由若干个数据项组成,数据项
是构成数据元素的不可分割的最小单位
。 `数据->数据元素->数据项``数据对象(Data 0bject)
: 数据对象是性质相同的数据元素的集合
,是数据的一个子集。数据结构( Data Structure)
:是指相互之间存在一种或多种特定关系的数据元素集合,是带有结构的数据元素的集合,它指的是数据元素之间的相互关系,即数据的组织形式。数据类型(Data Type)
:数据类型是一组性质相同的值集合以及定义在这个值集合上的一组操作的总称。1.原子类型
:其值不可分解。如C语言中的标准类型(整型、实型、字符型).2.结构类型
:其值是由若干成分
按某种结构组成的,因此是可以分解的,并且它的成分可以是非结构的,也可以是结构的。抽象数据类型(Abstract Data Type)
: 指基于一类逻辑关系的数据类型以及定义在这个类型之上的一组操作。- 通常用(
数据对象、数据关系、基本操作集
)这样的三元组来表示抽象数据类型(ADT)。
数据结构
包括三方面的内容:逻辑结构
、存储结构
和数据的运算[运算集合]
。逻辑结构
:指数据元素之间的逻辑关系描述。可分为:集合结构、线性结构(一对一)、树形结构(一对多)、图状结构或网状结构(多对多)
。1.集合结构
: 结构中的数据元素之间除了同属于一个集合的关系外,无任何其它关系。2.线性结构
: 结构中的数据元素之间存在着一对一的线性关系。3.树型结构
: 结构中的数据元素之间存在着一对多的层次。4.图状结构或网状结构
:结构中的数据元素之间存在着多对多的任意关系。存储结构
:逻辑结构在计算机中的存储映象,是逻辑结构在计算机中的实现,它包括数据元素的表示和关系的表示。主要有:顺序存储、链式存储、索引存储、散列存储。1.数据元素
的表示: 用若干个二进制“位串”表示2.数据元素
之间关系在计算机中的表示
方法 1. 顺序映象(顺序存储结构)2. 非顺序映象(非顺序[链式
]存储结构)【逻辑关系上是紧邻的,物理位置上不一定是紧邻的
】运算集合
: 在计算机中进行运算操作的集合。
1.2 算法的基本概念
- 算法的
5个重要特性
:有穷性、确定性、可行性、输入、输出
。(有确可IO) - “好”的算法应该考虑达到的目标:正确性、可读性、健壮性、效率与低存储量需求。(正可见效)
1.3 习题测试
1.【单选题】 在数据结构中,从逻辑上可以把数据结构分为( )
- A、动态结构和静态结构
- B、紧凑结构和非紧凑结构
C、线性结构和非线性结构
- D、内部结构和外部结构
- 【单选题】与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )
- A、存储结构
- B、存储实现
C、逻辑结构
- D、运算实现
- 【单选题】通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )
- A、数据具有同一特点
B、不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
- C、每个数据元素都一样
- D、数据元素所包含的数据项的个数要相等
- 【单选题】以下说法正确的是( )
- A、数据元素是数据的最小单位
- B、数据项是数据的基本单位
- C、数据结是带有结构的各数据项的集合
D、一些表面上很不相同的数据可以有相同的逻辑结构
- 【单选题】以下数据结构中,( )是非线性数据结构
A、树
- B、字符串
- C、队列
- D、栈
- 【单选题】( )是数据的基本单位,在计算机程序中通常作为一个整体进行处理。
- A、数据项
B、数据元素
- C、数据对象
- 【单选题】数据元素之间的不同逻辑关系代表不同的逻辑结构,常见的逻辑结构有四种,它们是( )
- A、线性表、集合结构、树结构、图结构
B、线性结构、数组结构、树结构、图结构
- C、集合结构、线性结构、树结构、图结构
- D、集合结构、数组结构、树结构、网状结构
- 【单选题】数据的存储结构考虑的是如何在计算机中存储各个数据元素,并且同时兼顾数据元素间的逻辑关系。基本的存储结构有两大类,分别为( )
- A、顺序表和链表
- B、数组和链表
C、顺序存储结构和链式存储结构
- D、线性存储结构和非线性存储结构
- 【单选题】现实生活中的家族谱,可认为是一种( )结构。
- A、图
B、树
- C、集合
- D、线性表
- 【单选题】手机中存储的电话号码簿,可认为是一种( )结构。
- A、树
- B、图
C、线性表
- D、集合
- 【单选题】设计一个学生信息管理系统管理学生的基本信息,该系统中的数据项为( )
- A、某个学生的基本信息
- B、所有学生的基本信息
C、构成学生基本信息的学号、姓名等字段
- D、所有学生的学号、姓名等字段值
- 【单选题】下述( )与数据的存储结构无关。
A、栈
- B、双向链表
- C、循环队列
- D、二叉链表
- 【单选题】顺序存储设计时,存储单元的地址( )
A、一定连续
- B、一定不连续
- C、不一定连续
- D、部分连续,部分不连续
- 【单选题】链式存储设计时,存储单元的地址( )
- A、一定连续
- B、一定不连续
C、不一定连续
- D、部分连续,部分不连续
- 【单选题】以下属于逻辑结构的是( )
- A、顺序表
- B、循环链表
- C、散列表
D、有序表
- 【单选题】
链式存储结构中,用于存储后继元素地址的部分称为( )
A、结点
B、指针
C、链表
答案:B
- 【多选题】在定义抽象数据类型时,需要包含的内容为:( )
A、数据对象
B、数据关系
C、基本操作
- D、基本操作的实现
- 【判断题】数据结构包含数据的逻辑结构、存储结构和数据的运算(操作)集合三个方面。
答案:√
- 【判断题】两个数据结构的逻辑结构和存储结构都相同,但是它们的运算集合中有一个运算的定义不一样,因此不能把它们看作同一个数据结构。
答案:√
- 【判断题】顺序存储结构的特点是:逻辑结构中相邻的数据元素,其在存储器中的存储位置也相邻。
答案:√
- 【判断题】链式存储结构的特点是:逻辑结构中相邻的数据元素,其在存储器中的存储位置不一定相邻。
答案:√
- 【判断题】在C语言中,顺序存储结构通常用数组实现。
答案:√
- 【判断题】在C语言中,链式存储结构通常用不同形式的链表实现。
答案:√
版权归原作者 小源同学r 所有, 如有侵权,请联系我们删除。