名词解释:
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合,是计算机存储和数据组织的方式,它分为三个方面,即数据的逻辑结构,数据的物理结构,数据的操作。
数据项:是数据不可分割的最小单位,用它可以识别一个或一个组数据,一个数据元素可由若干数据项组成。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中被计算机程序处理的符号的总称,是计算机化的信息。
数据类型:是一个值的集合以及定义在这个值集上的一组操作,可分为原子类型和结构类型。
抽象数据类型:是基于一类逻辑关系的数据类型以及定义在这个类型之上的一组操作。
逻辑结构:是数据元素之间逻辑关系的描述。
物理结构(存储结构):是指数据的逻辑结构在计算机中的映像(又称表示),即数据结构在计算机中的存储方法。
算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。
时间复杂度:算法执行所需时间的量度。
空间复杂度:算法执行所需存储空间的量度。
存储密度:指结点数据本身所占存储量和整个结构所占存储量之比。
填空题:
- 程序设计的一些基本原则:分解、抽象和信息隐蔽。
- 根据数据元素之间关系的不同特性,有四类基本的数据结构:集合结构,线性结构,树形结构,图形结构(网状结构)。
- 数据的存储结构有:顺序存储结构、链式(链接)存储结构、索引结构、散列存储结构
- 常用的两种存储结构:顺序存储结构和链式存储结构。
- 算法的五个特性:确定性、有穷性、可行性、输入和输出。(可以有零个或多个数据输入,但必须至少有一个输出数据。
- 算法设计的要求:正确性、可读性、稳健性、高效率低存储量。
沃斯公式:程序=算法+数据结构。
(算法分析)衡量算法的两个标准:时间复杂度和空间复杂度。
一个算法的设计取决于所选的逻辑结构。
一个算法的实现取决于所选的存储结构。
结构化程序设计思想的要求:自顶向下、逐步细化、模块化设计、结构化编程。
简答题:
顺序存储结构的特点?(顺序存储和链式存储的优缺点)
1、结点中只存放数据元素本身的信息,无附加内容。(优点)
2、可直接存储数据元素。(优点)
3、存储操作速度较快。(优点)
4、插入、删除数据元素时,由于需要保持数据元素之间的逻辑关系,必须大量移动元素,因此实现起来比较慢。(缺点)
5、顺序存储是一种静态结构、存储密度大,空间利用率低,预分配空间大小难以确定,(缺点)
链式存储结构的特点?(顺序存储和链式存储的优缺点)
1、结点中除存放数据元素本身的信息外,还需存放附加的指针。
2、不能直接存取数据元素,需顺链路查找,存取速度较慢。
3、插入、删除元素时不必移动其他元素,速度较快。(优点)
4、链式存储是一种动态存储结构,空间利用率高,存储密度小,不存在预分配空间问题。
线性结构与非线性结构的特点(或差异)?
线性结构的特点:是除第一个元素和最后一个元素外,每个数据元素都有唯一的前驱和唯一的后继,第一个元素没有前驱,最后一个元素没有后继,关系是一对一的。
非线性结构的特点是:表示结点间关系的前驱后继不具有唯一性,结点间是一对多或多对多的关系。
逻辑结构与物理结构的区别和联系?
1、数据的物理结构也为存储结构。
2、数据的逻辑结构仅考虑数据之间的逻辑关系。
3、数据的物理结构是数据的逻辑结构在计算机中的映像。
4、数据的逻辑结构独立于数据的存储介质。
数据结构与数据类型的区别和联系?
数据结构是相互之间存在一种或多种特定关系的数据元素的集合,是计算机存储和数据组织的方式,它分为三个方面,即数据的逻辑结构,数据的物理结构,数据的操作,它偏向于逻辑方面,而数据类型是一个值的集合以及定义在这个值上的一组操作,可分为原子类型和结构类型,它偏向于物理方面的线性表。
名词解释:
线性表:是最常用,最简单的一种数据结构,一个线性表是n个数据元素的有限序列,除首尾元素外,每个元素有唯一的前驱和唯一的后继。
顺序表:采用顺序存储结构的线性表通常称为顺序表。
链表:采用链式存储结构的线性表通常称为顺序表。
结点:由数据元素和指示其后继结点地址的信息组成的存储映像称为结点。
表长:表中元素的个数称为表的表长。
循环链表:是另一种形式的链式存储结构,它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。
双链表:采用链式存储结构的线性表,每个结点除一个数据域外,还有两个指针域,其一指向直接前驱,另一指向直接后继。
静态单链表:是利用一块连续的空间,按链表的存储方式组织数据,按顺序存储结构分配空间,所构成的一种链表。
头指针:是指向链表表头结点的指针,只要链表存在,该指针始终不会改变