文档介绍:在线教务辅导网:配套课件资源请访问在线教务辅导网2019/9/412019/9/42*数据结构是计算机及相关专业中一门重要的专业基础课程。当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打下厚实的知识基础,同时也提供了必要的技能训练。因此,数据结构课程在计算机应用专业中具有举足轻重的作用。2019/9/43*课程任务在基础方面,要求学生掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。学业基础本课程的先修课程为离散数学和高级语言程序设计。学习本课程必须具备高级语言程序设计(C语言)的基础知识与基本技能。它的后续课程有操作系统和数据库原理等。2019/9/44*⒈教学内容:(1)数据结构的概念;(2)抽象数据类型;(3)算法和算法分析。⒉教学目的:(1)领会数据、数据元素和数据项的概念及其相互间的关系;(2)清楚数据结构的逻辑结构、存储结构的联系与区别;(3)理解抽象数据类型的概念;(4)掌握进行简单算法分析的方法。第1章数据结构与算法2019/9/45*⒊教学重点:⑴数据、数据项、数据元素、数据结构的概念;⑵逻辑结构和数据结构在概念上的联系与区别;⑶抽象数据类型和数据抽象;⑷评价算法优劣的标准及方法。⒋教学难点:⑴区别算法与程序;⑵逻辑结构、存储结构的联系与区别;⑶抽象数据类型与数据抽象;⑷算法的时间复杂度分析。2019/9/46*,人们使用计算机的目的主要是处理数值计算问题。由于当时所涉及的运算对象是简单的整型、实型或布尔类型数据,所以程序设计者的主要精力是集中于程序设计的技巧上,而无须重视数据结构。随着计算机应用领域的扩大和软、硬件的发展,非数值计算问题越来越显得重要。这类问题涉及到的数据结构更为复杂,数据元素之间的相互关系一般无法用数学方程式加以描述。解决这类问题的关键是要设计出合适的数据结构,才能有效地解决问题。*【例1-1】成绩检索系统。要求成绩检索系统提供自动查询的功能,如查找某个学生的单科成绩或平均成绩,查询某门课程的最高分等等。学号 姓名 考试成绩平均成绩高等数学 C语言 英语 20071801 吴承志 90 95 85 90 20071802 李淑芳 88 76 91 85 20071803 刘丽 92 78 82 84 20071804 张会友 81 78 72 77 20071805 石宝国 76 82 79 79 20071806 何文颖 86 90 91 89 20071807 赵胜利 76 78 80 78 20071808 崔文靖 82 93 86 87 20071809 刘丽 80 85 81 82 … … … … … …图1-1学生成绩表2019/9/48【例1-2】棋盘布局问题。要求将4个棋子布在4行4列的棋盘上,使得任两个棋子既不在同一行或同一列,也不在同一对角线上。2019/9/49*【例1-3】教学计划编排问题一个教学计划包含许多课程,在教学计划包含的许多课程之间,有些必须按规定的先后次序进行,有些则没有次序要求。即有些课程之间有先修和后续的关系,有些课程可以任意安排次序。这种各个课程之间的次序关系可用一个称作图的数据结构来表示,如图所示。有向图中的每个顶点表示一门课程,如果从顶点vi到vj之间存在有向边<vi,vj>,则表示课程i必须先于课程j进行。2019/9/410