第三章第三章基本数据结构与算法基本数据结构与算法二级ACCESS—基本数据结构与算法基本数据结构与算法本章主要内容本章主要内容算法数据结构٭数据结构研究的主要内容٭基本概念和术语٭数据结构类型٭线性结构和非线性结构٭顺序存储与链式存储٭线性表٭栈和队列٭线性链表٭树与二叉树٭查找和排序٭图二级ACCESS—基本数据结构与算法基本数据结构与算法3.13.1算法算法算法的基本概念٭算法:解题方案的准确而完整的描述。٭算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。算法不等于程序,程序不可能优于算法。٭基本特性▪可行性:根据实际问题设计的算法,执行得到满意结果▪确定性:每一步骤必须有明确定义,不允许有多义性。▪有穷性:算法必须能在有限的时间内做完。▪输入和输出:拥有足够的情报,方可执行。二级ACCESS—基本数据结构与算法基本数据结构与算法3.13.1算法算法算法的基本要素٭1.对数据对象的运算和操作▪算术运算:+、-、×、÷等▪逻辑运算:>、<、=、>=、<=、!=等▪关系运算:and、or、not等▪数据传输:w、r等٭2.算法的控制结构▪算法中各操作之间的执行顺序▪描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等▪算法可以用顺序、选择、循环三种基本机构组合而成。二级ACCESS—基本数据结构与算法基本数据结构与算法3.13.1算法算法算法设计基本方法٭(1)列举法:根据问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。٭(2)归纳法:通过列举少量的特殊情况,经过分析,最后找出一般的关系。٭(3)递推:是指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。٭(4)递归:将问题逐层分解的过程。٭(5)减半递推技术:“减半”,是指将问题规模减半,而问题性质不变;“递推”,是指重复“减半”过程。٭(6)回溯法:分析问题,找出一个解决总线索,然后沿着这个线索逐步试探。二级ACCESS—基本数据结构与算法基本数据结构与算法3.13.1算法算法算法的复杂度:时间复杂度、空间复杂度٭算法的时间复杂度▪算法时间复杂度是指执行算法所需要的计算工作量。▪工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f(n)٭算法空间复杂度▪算法空间复杂度是指执行这个算法所需要的内存空间。▪存储空间包括:①算法程序所占的空间、②输入数据所占的空间、③算法执行过程中所需要的额外空间。。二级ACCESS—基本数据结构与算法基本数据结构与算法3.2.13.2.1数据结构研究的主要内容数据结构研究的主要内容当今计算机应用的特点٭所处理的数据量大且具有一定的关系;٭对其操作不再是单纯的数值计算,而更多地是需要对其进行组织、管理和检索。应用举例1——学籍档案管理假设一个学籍档案管理系统应包含如下表所示的学生信息。二级ACCESS—基本数据结构与算法基本数据结构与算法特点٭每个学生的信息占据一行,所有学生的信息按学号顺序依次排列构成一张表格;٭表中每个学生的信息依据学号的大小存在着一种前后关系.٭对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等。3.2.13.2.1数据结构研究的主要内容数据结构研究的主要内容二级ACCESS—基本数据结构与算法基本数据结构与算法应用举例2—制定教学计划在制定教学计划时,需要考虑各门课程的开设顺序。有些课程需要先导课程,有些则不需要;而有些课程又是其他课程的先导课程。比如,计算机专业课程的开设情况如下表所示:3.2.13.2.1数据结构研究的主要内容数据结构研究的主要内容二级ACCESS—基本数据结构与算法基本数据结构与算法课程先后关系的图形描形式课程先后关系的图形描形式c1c9c4c2c12c10c11c5c3c6c7c83.2.13.2.1数据结构研究的主要内容数据结构研究的主要内容特点特点٭课程的先后关系用图结构描述;٭通过实施创建图结构,按要求将图结构中的顶点进行线性排序。二级ACCESS—基本数据结构与算法基本数据结构与算法...