理工大学指挥自动化学院.docx
《理工大学指挥自动化学院.docx》由会员分享,可在线阅读,更多相关《理工大学指挥自动化学院.docx(27页珍藏版)》请在三一办公上搜索。
1、编写陈卫卫(2008.2)审批理工大学指挥自动化学院课 程 教 案教员姓名: 陈 卫 卫 单 位: 软件技术教研室 课程名称: 算法与数据结构 总 学 时: 60+20 适用对象:生长干部非合训本科学员授课学期: 2008年春季学期 理工大学训练部制表课程简介一、课程定位算法与数据结构是仿真工程(非合训)、网络工程(合训)、作战信息管理(非合训)专业的本科生学科专业基础课程中的一门重要的核心课程。通过本课程的教学,使学员知道数据结构的一般原理,掌握表、树、图等基本数据结构的特点、存储表示、具有的运算、实现运算的算法设计方法,以及对算法效率的评估方法,知道什么是好的算法,如何设计和选择好的算法,
2、为学习后续的操作系统、编译原理、软件工程等专业课程,设计系统程序打下基础。本课程的先修课程为:计算机程序设计导论(C语言)、离散数学。二、课程内涵(一)总体目标通过本课程的教学,使学员懂得数据结构的一般原理,掌握表、树、图等基本结构的特点,各结构的存储表示和所具有的运算,实现各运算的算法,学会对算法的评估方法。培养学员的算法设计能力、程序设计能力以及用软件方法处理问题的能力,培养学员的分析、对比、归纳、综合和创新能力,为学习后续专业课程,设计系统程序打下坚实的理论基础。(二)主要内容本课程主要内容包括两大部分。一是基本概念,主要介绍算法和数据结构的概念,算法的描述方法和评价标准、评价方法;算法
3、设计的一般方法。这部分教学的主要目的是使学员了解算法和数据结构的一般原理,了解对算法的评估方法。二是最基本的数据结构表结构、树结构和图结构,通过对表、树、图等基本结构的特点、存储方法,查找、插入、删除、排序、图的最优化等算法,以及实现运算的算法设计方法的学习,培养学员的算法设计能力、程序设计能力以及用软件方法处理问题的能力。(三)对学员的要求能够熟练地使用C语言。三、教学设计算法和数据结构是一门理论性与实践性都很强的重要核心课程。课程实施的总体方案是以提高学员的应用能力、创新能力和综合素质为目标,总体上,按照先易后难,先简单后复杂的思路进行讲解。在每一堂课上,大体的讲课思路是:先分析问题的特点
4、,抽象出数据以及数据之间的关系,然后,引导学员寻找解决问题的思路和方法,最后考虑如何编程实现,让学生体验解决问题的一般过程。对于基本概念,多举例阐述概念的内涵,强调术语的作用,规范用词,培养严谨的科学作风。对于算法设计,突出重点,以点带面,通过对比,使学员逐步建立设计“好”算法的意识。具体内容如下:1围绕表、树、图三大基本结构选择授课内容,依照“逻辑结构物理结构基本运算基本算法算法评价”这个脉络,研究每种结构的特点,给学生一个清晰的研究过程,使学员能够根据问题的特点选择合适的数据结构,进一步理解研究数据结构的意义。2教学方法采用引导、启发、研究、讨论、问题驱动等多种形式,充分发挥学员的主体作用
5、,激发每个学员的特长和潜能,培养学员的想象力和创新能力。3教学手段采用多媒体和板书相结合的形式,全方位、多角度地阐述教学内容。利用多媒体动画,揭示算法思想的内涵,使算法思想更为形象、直观,提高学生的学习兴趣和求知欲。4以知识验证、知识综合、创新设计为原则,设计上机实验内容。实验分为两类,一类为理解知识点的基本实验,另一类为综合应用的实验。通过上机编程强化学生的程序设计能力,进一步消化理解理论授课内容,贯彻“学以致用”的思想。教学进度总体安排序号教 学 内 容课堂教学学 时实践教学学时网络教学学时1概述2学员自主学习2表结构1863树结构1864图结构1045排序826集合运算227算法设计的一
6、般方法2总计6020教学进度具体安排第一章 概述 4学时第1讲 算法和数据结构概述2学时第30讲 算法设计的一般方法2学时第二章 表结构 18学时第2讲 表结构的概念2学时第3讲 顺序表的运算2学时第4讲 链表的基本概念2学时第5讲 简单链表的运算2学时第6讲 复杂链表及链表的应用2学时第7讲 栈和队2学时第8讲 静态链表2学时第9讲 矩阵运算2学时第10讲 字符串2学时第三章 树结构 18学时第11讲 树结构的概念2学时第12讲 二叉树2学时第13讲 二叉树的遍历2学时第14讲 遍历算法的应用2学时第15讲 遍历序列的性质2学时第16讲 二叉树的构造2学时第17讲 检索树2学时第18讲 平衡
7、树2学时第19讲 哈夫曼树、判定树2学时第四章 图结构 10学时第20讲 图的概念和存储结构2学时第21讲 先深搜索和先广搜索2学时第22讲 最小生成树2学时第23讲 最短路径2学时第24讲 有向无回路图、双连通分量2学时第五章 排序8学时第25讲 基本概念、插入排序2学时第26讲 交换排序2学时第27讲 选择排序2学时第28讲 合并排序、基数排序2学时第六章 集合运算2学时第29讲 散列表2学时说明:为了空出一次复习课的时间,在实施计划中将第11讲和第12讲压缩为了一次课。内 容备 注第一章 概 述第1讲 算法和数据结构概述讲课题目:算法和数据结构概述(1.1、1.2、1.3)目的要求:1了
8、解课程基本信息,建立基本要求2掌握基本数据结的构特征及其意义3掌握算法的定义和三种描述方式4了解算法的评价方法知识点:1数据结构的基本概念2算法的描述和实现3算法的评价方法重点难点:1表、树、图结构的特征及其意义2算法的定义,算法的描述方式3算法的时间复杂性方法步骤: 1介绍与课程有关的相关知识2从求解问题的一般步骤入手,建立抽象的数据模型(数值、非数值)3用示例抽象说明数据,以及数据之间的关系,介绍数据结构的分类和特征4用示例介绍算法的描述形式和适用场合,研究算法“好”、“坏”问题的意义和价值,站在使用效果、满足需要等角度,讨论研究评价算法的标准。器材保障:电脑、投影仪、教鞭教学内容与时间安
9、排:板书一、课程基本信息 10 分钟(一)教员信息主讲教员:陈卫卫联系方式: 824546(O) ,828596(H)E_mail: hchcww办公室:教学楼809 介绍课程整体情况,帮助学生明确学习目标,知道相关的学习要素。(二)课程的主要任务使学员获得算法和数据结构方面的基本知识,培养学员的程序设计能力和初级算法设计能力,掌握运用计算机解决本专业实际问题的基本方法,为今后的工作和学习奠定坚实的基础。(三)教学重点和基本条件1教学重点在于围绕算法指导学生编程,使学生知道什么是“好”的算法,如何才能学会编写高质量的程序。2基本条件:熟练使用C语言(C+中的传引用功能)、有一定的离散数学知识掌
10、握VC+6.0集成开发环境(四)教材及参考书目1教材 (Text Book)数据结构教程 王庆瑞编著 北京希望电子出版社2参考书 一般的学会搜集资料,知道参考书的作用和价值,以及如何使用参考书。充实、深化相关学习内容。Data Structures and Algorithm Analysis in C(Second Edition), Mark Allen Weiss 著,陈越改编,北京:人民邮电出版社,2005 数据结构(C语言版) 严蔚敏、吴伟民 编著 清华大学出版社C算法(第一卷,基础、数据结构、排序和搜索)(第三版)Algorithms IN C(THIRD EDITION)C算法(
11、第二卷 图算法) Robert Sedgewick著 周良忠 译,人民邮电出版社 POSTS & TELECOM PRESS 经典的 计算机程序设计艺术(第3版)The Art of Computer Programming第1卷 基本算法第2卷 半数值算法第3卷 排序与查找Donald E.Knuth 著 苏运霖 译,国防工业出版社 Addison Wesley,2003结合课程特点,强调好的学习方法。(五)学习方法l 认真听讲l 读书、思考l 独立完成作业l 上机练习(六)评价方式l 平时作业(含上机)l 上课表现l 笔试试卷板书二、数据结构的概念 20 分钟板书(一)问题的求解过程总结归
12、纳问题求解的一般过程,从中把握数据结构课程的地位和作用。说明:算法和程序概念的差异,在没有歧义的情况下,可以不区别。1解题的一般过程l 接受任务(设计程序、软件)l 针对问题进行分析l 设计出求解策略,即算法(algorithm),程序的雏形“问题级的算法”(或初级算法)l 算法的需要,抽象出所要处理的数据l 建立数据结构l 将算法分解成对数据结构的运算l 设计出对数据结构进行处理的算法(数据结构级算法)l 对算法的性能(可行性和运行效率:时间和空间)进行评估l 着手程序设计l 对程序进行调试l 交付使用2程序与算法的关系程序是按算法思想进行设计的,程序中含有算法。算法就是程序(但算法不等于程
13、序)。程序也称算法。程序(或算法)就是问题的解(算法解,或程序解,软件解)。板书(二)数据和数据结构从狭义和广义两个角度阐述数据。举例说明这些术语的内涵,进一步理解计算机的工作方式。板书1数据是对客观事物的名称、数量、特征、性质的描述形式(编码),是计算机所能处理的一切符号的总称,是程序加工的对象和产品。板书2数据的种类数值型数据(整数、实数等):例,四则运算文字型数据(字符、字符串):例,文本文件,程序代码(编译软件)声音、图像形式的数据:例,mp3、avi。数据总是以某种编码形式出现的。板书3数据结构研究的对象数据元素的集合,元素之间的关系,对数据和数据集合进行哪些运算,如何提高运算效率。
14、板书4数据元素(data element)说明:为了简化问题,后面仅讨论单数值结点。但是原理相同。数据结点,简称结点(node)。描述一个独立事物的名称、数量、特征、性质的一组相关信息组成一个数据结点。通常,一个结点含有多个数据项(记录型结点,或结构型结点)每个数据项是结点的一个域(field),能够唯一标识结点的域叫关键字域(key)。若结点只含一个数据项(单值结点),可把结点看成整数(编码)。例如:(1)学生结点:学生的姓名、学号、各科考试成绩等等,学号可以作为结点的关键字域。(2)商品结点:商品编号和名称、规格、数量、生产厂家、单价、入库日期。板书5数据结构(data structure
15、)强调:5要素:1数据2关系3运算4算法5评价数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和处理算法的学科。(1)定义:数据结构B=(D,R) 逻辑结构D:有穷的结点集合;R:D中结点间的有穷关系集合注意:不研究一个结点内部各域之间的关系(由编码,存储方式决定)。板书(2)研究内容补充:在面向对象环境下,有人将程序的概念进行了拓展。数据及数据之间的关系、存储方式、基本运算、实现运算的算法、算法评价方法。数据结构程序编写算法设计问题求解l “好”数据结构“好”算法“好”程序l 良好、合理的数据结构l 清晰、实用的算法l 简洁、高效的程序板书(3)数据结构的两个方
16、面1)数据的逻辑结构:指各数据元素之间的逻辑关系,是用户按使用需要建立起来的,呈现在用户面前的结构形式。2)数据的物理结构:亦称数据的物理结构、存储结构,是指数据在计算机内的表示方法,即存储形式。既要存储数据,又要(存储)体现出逻辑结构。主要概念有:l 存储结点:用于存储一个数据结点的存储单元。一个数据结点对应一个存储结点(统称结点)。l 空白结点:预留的存储结点(尚未存储数据的存储结点)。亦称空结点、自由结点。板书举例说明,这些逻辑关系。学会从一般到具体,把握概念的内涵。6常见的逻辑数据结构板书表、树、图、集合(1)表:描述结点之间简单的先后次序关系。一对一关系(2)树:描述结点之间的层次关
17、系,或嵌套关系。一对多关系(3)图:描述结点之间的“多对多”关系。(4)集合:结点之间的“无关关系”。结构中的数据元素之间除“同属于一个集合”的关系,无其他关系。板书7基本存储结构从存储角度看,数据结构可以归结为两种基本结构:板书(1)顺序存储结构把逻辑上相邻的结点存储在物理位置上相邻存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。板书(2)链接存储结构 不要求逻辑上相邻的结点其物理位置上亦相邻,结点间的逻辑关系是由附加的指针域表示的。板书8运算(operation):对数据和数据结构的处理操作。不同的数据结构有不同的运算。如表结构的常见运算:查找、插入、删除、排序等。阐述运算的特征,
18、以及关联关系,将特殊的运算一般化(分裂、合并等等)。(1)插入(Insert) 在数据结构的指定位置上增添新的数据元素。 (2)删除(Delete) 删去数据结构中某个指定的数据元素。(3)更新(Update) 改变数据结构中某个数据元素的值,在概念上等价于删除和插入操作的组合。(4)查找(Search) 在数据结构中寻找满足某个特定要求的数据元素(位置或值)。 板书三、算法的描述和实现 30 分钟板书(一)算法(Algorithm)的定义1简单定义:算法记载了求解问题的方法和步骤。举例说明算法的5个重要特性的内涵。提问:与计算方法的区别?算法(Algorithm)是对特定问题求解步骤的一种描
19、述,是能在计算机上经过有限时间完成的、毫不含糊的指令的有限序列。其中每一条指令表示一个或多个操作。2克努特(D.E.Knuth)的定义:算法就是一个有穷规则的集合。规则规定解决某一特定问题的运算序列。算法的5个重要特性。有穷性、确定性、输入、输出、可行性(算法中所有的运算都可以精确地实现)。(1)有穷性:执行有限步,每步均在有穷时间内完成。(2)确定性:对相同的输入,必产生相同的输出,即无二义性。(3)可行性:计算机可使用已实现的基本运算执行有限次来完成。(4)输入:零个或多个输入。(5)输出:一个或多个输出。板书(二)算法的存在形式1程序形式程序形式算法的实现算法的最终形式。学会交流算法的各
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 理工大学 指挥 自动化 学院
链接地址:https://www.31ppt.com/p-1672528.html