第一章:绪论
知识点
1、简述下列概念:数据、数据元素、数据项。
- 数据是可被计算机识别并加工处理的对象。
- 数据元素是由数据组成的具有一定意义的基本单位,在计算机中通常作为一个整体来处理。有些情况下,数据元素也被称为元素、记录。
- 数据项是组成数据元素的、不可分割的最小单位
2、什么是数据结构?
- 数据结构是由某一数据对象及该对象中所有数据元素之间的关系组成的。
- 数据结构包括数据的逻辑结构、存储结构及数据的运算三方面的内容
3、简述逻辑结构的四种基本关系。
- 线性结构:数据元素之间存在一对一的关系
- 树形结构:数据元素之间存在一对多的关系
- 图结构:数据元素之间存在多对多的关系
- 📐集合结构:数据元素属于同一个集合,不考虑其他的关系
4、最常见的存储结构
- 顺序存储结构
- 链式存储结构
5、算法有哪些特征
- 输入:一个算法有0个或多个输入
- 输出:一个算法至少有一个输出
- 可行性:算法的每一个步骤都可以由已经实现的运算来实现
- 确定性:每一个步骤都具有确切含义,不具有二义性
- 有穷性:执行有穷步后终止
6、算法与程序的区别与联系
- 区别:
在语言描述上,程序必须是用规定的语言来写,而算法很随意;
在执行时间上,算法所描述的步骤一定是有限的,而程序可以无限地运行下去;
算法是对特定问题求解步骤的描述,它是指令有限序列;
- 联系:
算法是程序设计的核心,算法的好坏很大程度上决定一个程序的效率,一个好的算法可以降低程序的时间复杂度和空间复杂度,先选出一个好的算法,配合一种适宜的数据结构,这种程序的效率会大大提高
算法是解决问题的步骤;程序是算法的代码实现;算法要依靠程序来完成功能;程序需要算法作为灵魂;程序是结果,算法是手段(为编写出好程序所使用的运算方法)。同样编写一个功能的程序,使用不同的算法可以让程序的体积、效率差很多。所以算法是编程的精华所在。
7、简述衡量算法优劣的基本标准
- 正确性:在合理的输入下,算法能够在有限的时间内产生满足预先规定的功能和性能要求。
- 可读性:一个好的算法应当思路清晰、简单明了。注释,便于人们阅读、理解和交流。
- 健壮性:在输入不合法的数据时,能做出适当处理,而不至于产生异常或是出现崩溃等严重后果。
- 高效性:具备执行效率高和占用存储空间少的特点。
相关考法:
-
1、了解数据对象,数据结构的定义
-
三要素
-
2、了解算法的定义 处理信息的步骤,问题求解的步骤
-
3、逻辑结构与存储结构
- 1、存储结构依赖于逻辑结构,不能独立存在 2、逻辑结构是一个抽象的描述事物的方式,可以独立于存储结构 3、运算的定义是针对逻辑结构的,指出运算的功能; 运算的实现是针对存储结构的,指出运算的具体操作步骤。
-
4、时间复杂度
-
考题:p8,t16
-
- 5、空间复杂度
-
表示的是该算法所需辅助空间大小相比输入数据的规模成什么比