任燕主编《数据结构》教学大纲

合集下载

《数据结构》教学纲要(doc 9页)

《数据结构》教学纲要(doc 9页)

《数据结构》教学纲要(doc 9页)《数据结构》教学大纲2001年9月一、开课系(部):经济信息管理系二、教学对象:信息管理与信息系统专业本科三、教学目的:数据结构是高等教育计算机信息管理专业中的一门专业基础课,在计算机软件的各个领域中均会使用到数据结构的有关知识。

本课程的目的和任务是使学生较全面地掌握各种常用的数据结构,为学习后续软件课程提供必要的基础,提高运用数据结构解决实际问题的能力。

四、教学要求:1. 从数据结构的逻辑结构、存储结构和数据的运算三个方面去掌握线性表、栈、队列、串、数组、广义表、树、图和文件等常用的数据结构。

2. 掌握在各种常用的数据结构上实现的排序和查找运算。

3. 对算法的时间和空间复杂性有一定的分析能力。

4. 针对简单的应用问题.应能选择合适的数据结构及设计有效的算法解决之。

五、教学课时:教学内容课内学时第1章绪论 2第2章线性表 4第3章栈和队列 6第4章串 4笫5章数组和广义表 4第6章树和二叉树 6第7、8章略第9章查找 4第10章内部排序 4课程总复习 2六、考核形式:期末考试与平时讨论相结合(80%和20%)。

期末试卷结构:单项选择填空简答应用算法设计20 15分20分15分30分态。

3.3 算法描述和算法分析的方法,对于一般算法能分析出时间复杂度。

第2章线性表(一)课程内容2.1 线性表的逻辑结构2.2 线性表的顺序存储结构2.3 线性表的链式存储结构2.4 顺序表和链表的比较(二)学习目的与要求本章目的是介绍线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在存储结构上如何实现这些基本运算。

要求在熟悉这些内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题。

本章重点是熟练掌握顺序表和单链表上实现的各种基本算法及相关的时间性能分析,难点是能够使用本章所学到的基本知识设计有效算法解决与线性表相关的应用问题。

《数据结构》课程教学大纲(三套)

《数据结构》课程教学大纲(三套)

数据结构课程教学大纲(三套)《数据结构》课程教学大纲(36/36 课时)一、课程的性质和任务数据结构是计算机及应用专业中一门重要的专业基础课程,在计算机软件的各个领域中均会使用到数据结构的有关知识。

当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打开厚实的基础。

因此,数据结构课程在计算机应用专业中具有举足轻重的作用。

本课程的任务是:在基础方面,要求学员掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。

总言之,使应用者较全面的掌握各种常用的数据结构,提高运用数据结构解决实际问题的能力。

二、课程的基本要求本课程的教学基本要求如下:本课程要求理论必须与上机实践操作相结合,多做题和调试算法,实现算法。

实践项目只利用课堂时间是不够的,必须提前布置给学生。

通过本课程的学习与实践,学生应达到:1、掌握数据结构的基本概念和基本理论;2、熟练掌握顺序表、链表、队列、栈、树以及二叉树、图等基本数据结构的设计和分析;3、熟练地掌握常用算法(递归、遍历、查找、排序)的知识;4、能对所求解的问题进行分析,抽象出逻辑结构,选择合适的存储结构定义所需的运算,设计相应的算法;5、对算法进行分析和评价。

三、教学内容(一)理论教学(二)实践环节四、课时分配《数据结构》课程共4学分,课内72学时,其中理论课36学时,上机36学时。

五、大纲说明本课程必须理论与上机实践操作相结合,并要教、学、练相结合,讲清基本概念,指出知识要点、重点和难点,并通过实例分析解决算法难点;要求学生认真预习、认真听课、认真思索、认真做实验, 通过对算法的编程实现来提高学生 由于内容多、 难度大, 要特别注重精讲多练, 实践项目一定 要提前布置给学生, 调动学生的主观能动性,鼓励学生多提 问题、共同探讨和解决问题。

数据结构教学大纲

数据结构教学大纲

《数据结构》教学大纲一.教学目的和要求数据结构是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术专业的核心课程,是高级程序设计语言、编译原理、操作系统、数据库、人工智能等课程的基础。

同时,数据结构技术也广泛应用于信息科学、系统工程、应用数学以及各种工程技术领域。

数据结构课程集中讨论软件开发过程中的设计阶段、同时设计编码和分析阶段的若干基本问题。

此外,为了构造出好的数据结构及其实现,还需考虑数据结构及其实现的评价与选择。

因此,数据结构的内容包括抽象、实现和评价三个层次,从数据表示和数据处理上看有五个基本组成“要素”分别是逻辑结构,存储结构、基本运算、算法及不同数据结构的比较与算法分析。

通过学习,使学生初步具备分析问题、解决问题的能力,养成良好的程序设计风格,积聚和提高基本的分析设计能力。

为后续课程的学习打下坚实的基础。

教学要求:1.掌握各种数据结构的特点及实现方法和适用范围2.培养学生阅读、分析和设计算法的能力3.进行必要的分析设计基本技能训练4.掌握常规设计方法和技巧二.授课学时和学分授课时数:72,实验课:18学时,学分:4教学方式:课堂教学与上机实习相结合三.授课对象计算机科学与技术专业、计算机教育专业、通信工程专业二年级下学期四.先修课程高级程序设计语言五.教学内容第1章概述1.1 抽象数据类型1.2 C++类和抽象数据类型1.3 C++应用中的对象1.4 对象设计1.5 类继承的应用1.6 面向对象程序设计1.7 程序测试与维护1.8 C++程序设计语言1.9 抽象基类及多态性第2章基本数据类型2.1 整型2.2 字符类型2.3 实数类型2.4 枚举类型2.5 指针2.6 数组类型2.7 文本串及变量2.8 记录2.9 文件2.10 数组和记录的应用第3章抽象数据类型和类3.1 用户类型类3.2 类的举例3.3 对象和信息传递3.4 对象数组3.5 多构造函数3.6 应用举例:三角矩阵第4章群体类4.1 线性群体4.2 非线性群体4.3 算法分析4.4 顺序查找与折半查找4.5 基本的顺序表类第5章栈和队列5.1 栈5.2 类Stack5.3 表达式求值5.4 队列5.5 类Queue5.6 优先级队列5.7 实例研究:事件驱动模拟第6章抽象操作6.1 运算符重载6.2 有理数6.3 有理数类6.4 作为成员函数的有理数运算6.5 作为友元函数的有理数流运算符6.6 有理数转换6.7 有理数的使用第7章形式数据类型7.1 模板函数7.2 模板类7.3 表的模板类7.4 中缀表达式求值第8章类和动态存储8.1 指针与动态数据结构8.2 动态申请对象8.3 赋值与初始化8.4 安全数组8.5 串类8.6 模式匹配8.7 整型集合第9章链表9.1 结点类9.2 构造链表9.3 设计链表类9.4 类LinkedList9.5 LinkedList类的实现9.6 用链表实现集合9.7 实例研究:打印缓冲池9.8 循环表9.9 双向链表9.10 实例研究:窗口管理第10章递归10.1 递归的概念10.2 设计递归函数10.3 递归代码和运行时堆栈10.4 用递归进行间题求解10.5 递归评估第11章树11.1 二叉树结构11.2 设计TreeNode函数11.3 树扫描算法的使用11.4 二叉搜索树11.5 二叉搜索树的使用11.6 BinSTree的实现11.7 实例研究:索引(Concordance)第12章继承和抽象类12.1 继承概述12.2 C++中的继承12.3 多态性和虚函数12.4 抽象基类12.5 迭代算子12.6 有序表12.7 异构表第13章高级非线性结构13.1 基于数组的二叉树13.2 堆13.3 Heap类的实现13.4 优先级队列13.5 A VL树13.6 A VL树类13.7 树迭代算子13.8 图13.9 Graph类第14章群体数据的组织14.1 数组排序的基本算法14.2 快速排序(QuickSort)14.3 哈希法(Hashing)14.4 哈希表类14.5 搜索方法的性能14.6 二进制文件和外部数据操作14.7 辞典教材:《DATA STRUCTURES WITH C++》WILLIAM FORD PRINTICE HALL WILLIAM TOPP清华大学出版社教学参考书:1.《数据结构》许卓群高等教育出版社2.《数据结构》严蔚敏清华大学出版社(C语言版)3.《数据结构C++实现》殷人昆清华大学出版社八.考核方式必修课:考试九.上机实习及内容教材后面除了有大量的习题外,还有相当数量的上机题,原则上要求学生全部编程上机调试,作为课程考核内容的一部分,每学期精选3~5个综合性的上机题,要求完成上机调试、获取实验结果、写出实习报告。

《数据结构》教学大纲

《数据结构》教学大纲

《数据结构》教学大纲一、课程简介《数据结构》是计算机科学与技术相关专业的基础课程之一。

本课程旨在通过理论与实践相结合的方式,培养学生具备良好的数据结构基础、灵活运用和设计数据结构的能力,并通过算法分析、问题求解等方式培养学生的编程思维和创新能力。

二、教学目标1. 理解数据结构的基本概念和原理,包括栈、队列、链表、树、图等基本数据结构的应用场景与实现。

2. 掌握数据结构的基本算法与操作,包括插入、删除、查找、排序等常用操作的实现与分析。

3. 培养学生良好的编程实践能力,能够灵活运用不同的数据结构解决实际问题。

4. 培养学生团队合作精神和沟通能力,能够与他人合作设计和实现复杂的数据结构与算法。

三、教学内容1. 数据结构基础1.1 数据结构与算法的关系1.2 抽象数据类型与数据结构1.3 算法复杂度与评估方法2. 线性结构2.1 线性表的基本概念与实现2.2 栈与队列的定义与应用2.3 数组与链表的对比与选择3. 树形结构3.1 树的基本概念与性质3.2 二叉树的存储与遍历3.3 二叉搜索树与平衡树的应用4. 图结构4.1 图的基本概念与表示方法4.2 图的遍历与连通性算法4.3 最短路径与最小生成树算法5. 排序与查找5.1 常用排序算法的实现与性能分析 5.2 二分查找算法与应用5.3 哈希表的概念与应用四、教学方法1. 理论讲解:通过授课方式向学生讲解数据结构的基本概念、原理和算法分析方法。

2. 实验实践:通过编写程序实践,巩固和加深学生对数据结构的理解与应用能力。

3. 课堂讨论:鼓励学生在课堂上提问和讨论问题,促进学生思维的活跃和沟通能力的培养。

4. 课程设计:结合实际案例,进行小组项目设计,培养学生团队合作和创新能力。

五、教学评价与考核1. 平时成绩:包括课堂讨论与实验成绩,在课堂上主动提问、积极参与实验的学生将获得较高成绩。

2. 作业与报告:包括编程作业、实验报告等,学生需要按时完成,并按要求展示实现结果与思路。

《数据结构》教学大纲资料

《数据结构》教学大纲资料

《数据结构》教学大纲资料《数据结构》教学大纲适用专业:计算机科学与技术(本科)理论学时:72实践学时:36一、课程的性质、目的和任务1、课程性质数据结构就是计算机学科的一门专业基础理论课,就是计算机科学的核心课程之一。

它介乎数学、计算机硬件和软件三者之间,就是操作系统、数据库、编译系统等课程以及也计算机科学各领域及有关的应用软件研发的关键基础。

2、课程的教学目的本课程教学目的是使学生学会在非数值计算数学模型下分析计算机加工数据的理论和方法,掌握各种数据结构(线性表、堆栈与队列、树、图)的特性,为应用所涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并且灵活地进行各种数据结构的基本操作,同时初步掌握对算法的时间分析和空间效率分析。

另一方面,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力、良好的程序设计能力,为后续课程的学习及以后从事软件开发工作打下良好的基础。

3、课程的任务本课程,在自学基本数据结构(即为:线性表、栈、队列、串成、广义表中、一棵、图)及其基本操作算法的全过程中,秉持“既授人鱼,更授人以渔”,指导学生按照“非结构化→结构化→对象化→同构化”的特点自学和利用可以指导各种计算机语言展开数据结构算法同时实现的共性本质和方法,学会“举一反三、触类旁通,独立自主自学、力求技术创新”。

本课程,要求学生熟悉数据信息在计算机系统中的逻辑结构、物理结构,掌握各种数据结构(例如:线性表,堆栈与队列,树,图)特性,可把现实信息抽象成它所对应的、科学数据及其数据结构,能灵活运用各种数据结构及其基本操作解决实际问题的程序设计能力。

本课程,著重“算法+数据结构=程序设计”的课堂教学动手能力培育,通过“习题练、上机进修,课程设计”三位一体的训练,使得学生把理论自学和上机编程紧密融合出来,可以设计出来恰当、规范、严格、高效率的算法并能够编程同时实现,提升学生的逻辑思维能力、抽象化能力和应用领域能力。

《数据结构》教学大纲

《数据结构》教学大纲

《数据结构》教学大纲Data Structure课程编号:J6110G0003课程性质:学科基础课程适用专业:计算机科学与技术、网络工程、数字媒体技术先行课:计算机科学导论、离散数学、高级语言程序设计;后续课:无。

学分数:5主讲教师:任燕、王命延、冯豫华、周石林、王玮立等一、课程的目的与任务数据结构是信息与计算科学专业中一门重要的专业基础课程。

当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续软件方面的课程打下了厚实的知识基础,同时也提供了必要的技能训练。

因此,数据结构课程在计算机应用专业中具有举足轻重的作用。

本课程的目的是使学生掌握数据组织、存储和处理的常用方法,为以后进行软件开发和学习后续专业课程打下基础。

主要任务是讨论现实世界中数据的各种逻辑结构,在计算机中的存储结构以及进行各种非数值运算的算法。

本课程达到《认证通用标准》规定中关于“毕业要求”的第三款项(具有运用工程基础知识和本专业基本理论知识解决问题的能力,具有系统的工程实践学习经历;了解本专业的前沿发展现状和趋势)、第四款项(具备设计和实施工程实验的能力,并能够对实验结果进行分析)。

二、课程的基本要求通过本课程的学习,要求学生了解数据结构及其分类、数据结构与算法的密切关系;熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构;掌握设计算法的步骤和算法分析方法;掌握数据结构在排序、查找和路由选择等常用算法中的应用。

最后学生应达到知识技能两方面的目标:在基础方面,要求学生掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。

三、课程教学内容第一章绪论基本要求:掌握数据结构的基本概念,抽象数据类型在软件设计中的意义,算法的概念和算法的时间复杂度分析,了解算法的描述和评价。

《数据结构》教学大纲

《数据结构》教学大纲

《数据结构》教学大纲数据结构教学大纲一、课程介绍1.1课程名称:数据结构1.2学分:3学分1.3先修课程:计算机基础1.4课程性质:必修课程1.5学习方式:课堂讲授、实践操作、实验、课程作业二、教学目标2.1知识目标通过本课程的学习,学生应该掌握以下知识:-基本数据结构的概念和特性,包括数组、链表、栈、队列、树和图等;-常用的数据结构算法,如查找、排序、插入和删除等;-理解数据结构的时间复杂度和空间复杂度,并能进行分析和评估;-能够选择合适的数据结构和算法来解决实际问题。

2.2能力目标-能够运用所学的数据结构和算法解决实际问题;-能够分析和评估不同数据结构和算法的优劣;-具备良好的编程能力,能够实现数据结构的基本操作;-能够进行抽象思维和问题建模,将实际问题转化为数据结构的操作。

2.3态度目标-具备良好的团队合作和沟通能力,能够与他人合作解决问题;-具备批判性思维和创新精神,能够提出新的数据结构和算法。

三、教学内容3.1数据结构概述-数据结构的定义和分类;-数据结构与算法的关系;-数据结构的应用领域。

3.2线性表-线性表的定义和基本操作;-顺序表和链表的实现;-线性表的应用。

3.3栈和队列-栈和队列的定义和基本操作;-栈和队列的实现;-栈和队列的应用。

3.4树和二叉树-树和二叉树的定义和基本操作;-二叉树的遍历和线索化;-树和二叉树的应用。

3.5图-图的定义和基本操作;-图的存储结构和遍历算法;-图的应用。

3.6查找和排序-查找算法的分类和基本思想;-顺序查找和二分查找;-排序算法的分类和基本思想;-冒泡排序、插入排序和快速排序。

四、教学方法4.1讲授法:通过课堂讲授,向学生介绍数据结构的概念、特性和应用,讲解基本操作和算法的原理和实现方法。

4.2实践操作:通过编程实践和课程作业,让学生运用所学的数据结构和算法解决实际问题,加深对知识的理解和运用能力。

4.3实验:通过实验,让学生亲自操作和实验不同的数据结构,加深对数据结构和算法的理解。

《数据结构》教学大纲 第一部分大纲说明 1课程介绍 《数据结构》是

《数据结构》教学大纲 第一部分大纲说明 1课程介绍 《数据结构》是

《数据结构》教学大纲第一部分大纲说明1.课程介绍《数据结构》是计算机应用专业的一门专业基础课,主要任务是讨论各种数据组织中的数据逻辑结构,存储结构以及有关操作的算法。

目的是使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。

另一方面,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力和程序设计的能力。

2.与其他课程的关系《数据结构》的先修课主要是《C++语言程序设计》,本课程将以C++语言作为算法描述和上机实践的工具。

同时,本课程又是软件开发与设计等课程的基础。

3.课程特点《数据结构》是实践性很强的课程,不仅要学习基本理论知识,更要注重上机实践,通过上机实践验证算法的正确性,掌握和巩固所学理论知识。

4.教学要求教学要求在每章教学内容之后给出,大体分为三个层次:了解、掌握和熟练掌握。

它们的含义大致为:了解就是正确理解概念,掌握就是学会所给的知识,熟练掌握就是会运用所学知识解决实际问题。

第二部分媒体使用和教学过程建议1.学时分配本课程共90学时,5 学分。

电视、实验、大作业各占20、27、和18学时,其余为面授。

建议大作业学时可以分配到实验和面授中,不必硬性规定。

若暂时收看不到电视课,则应将20电视学时按1比1.5转换为54讲面授课。

电视和实验学时分配如下:(1) 录像媒体教学36学时:(2)上机实践27学时,从中至少任选7个。

2.多种媒体教材的说明及教学环节文字教材应系统、完整而又深入浅出,适合自学,音像教材应突出重点和难点,二者可以相互补充配合,但电视讲课仍应以文字教材为主要依据。

面授应指导和帮助学生掌握重点,突破难点,分析算法的思路与方法,指出常见的错误。

上机实践,应有实验教师指导和辅导。

第三部分教学内容和教学要求第一章绪论(一) 教学内容1. 数据结构的一些基本概念:数据、数据元素、数据逻辑结构、数据存储结构、数据类型、算法等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》教学大纲
课程性质:学科基础课程
适用专业:计算机科学与技术、网络工程、数字媒体技术
先行课:计算机科学导论、离散数学、高级语言程序设计;
选用教材及参考资料(与考试大纲一致)
教材:1.任燕主编《数据结构C++语言描述》,清华大学出版社,2011年
2. 严蔚敏《数据结构(C语言版)》清华大学出版社出版
实验教材:
1、任燕主编《数据结构上机实验指导C++语言描述》,清华大学出版社,2011年
2、系自制的实验指导
一、课程的目的与任务
数据结构是信息与计算科学专业中一门重要的专业基础课程。

当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续软件方面的课程打下了厚实的知识基础,同时也提供了必要的技能训练。

因此,数据结构课程在计算机应用专业中具有举足轻重的作用。

本课程的目的是使学生掌握数据组织、存储和处理的常用方法,为以后进行软件开发和学习后续专业课程打下基础。

主要任务是讨论现实世界中数据的各种逻辑结构,在计算机中的存储结构以及进行各种非数值运算的算法。

本课程达到《认证通用标准》规定中关于“毕业要求”的第三款项(具有运用工程基础知识和本专业基本理论知识解决问题的能力,具有系统的工程实践学习经历;了解本专业的前沿发展现状和趋势)、第四款项(具备设计和实施工程实验的能力,并能够对实验结果进行分析)。

二、课程的基本要求
通过本课程的学习,要求学生了解数据结构及其分类、数据结构与算法的密切关系;熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构;掌握设计算法的步骤和算法分析方法;掌握数据结构在排序、查找和路由选择等常用算法中的应用。

最后学生应达到知识技能两方面的目标:在基础方面,要求学生掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。

三、课程教学内容
第一章绪论
基本要求:
掌握数据结构的基本概念,抽象数据类型在软件设计中的意义,算法的概念和算法的时间复杂度分析,了解算法的描述和评价。

基本知识点:
数据结构的基本概念;
●算法特性、描述;
●算法分析:时间复杂度和空间复杂度;
教学重点:
●数据结构的基本概念;
●算法分析:时间复杂度和空间复杂度;
实验:
实验1: 对某一组数据排序,采用不同的算法定义与实现,并进行算法分析。

习题课安排:
安排一次课下习题,并进行一次课堂讲解.
第二章线性表
教学要求:
理解线性表的定义和线性表基本操作的功能;掌握线性表的顺序和链式存储结构;掌握顺序表的设计及应用;掌握单链表的设计及应用。

掌握两种存储结构的实现及优缺点。

基本知识点:
●线性表的类型定义:概念、长度、抽象数据类型定义,基本操作的应用;
●线性表的顺序存储结构、构造一个空的线性表、线性表的插入操作、线性表的删除
操作、线性表的查找、线性表的合并,插入、删除算法的算法分析;
●线性表的链式实现、返回线性表第i个数据元素的值、在线性表第i个位置之前插
入元素e、在带头结点的线性表L中删除第i个元素、链表的合并;
●静态链表、循环链表、双向链表;
教学重点:
●线性表的定义和抽象数据类型;顺序和链式存储结构;顺序表的设计;单链表的设计,
算法分析。

实验:
实验2:顺序表的基本操作
实验3:单链表的基本操作
实验4:双向链表或循环链表的基本操作
习题课安排:
安排两次次课下习题,并进行一到两次课堂讲解.
第三章栈和队列
教学要求:
理解堆栈的概念,掌握顺序堆栈和链式堆栈的设计方法;理解队列的概念,掌握顺序循环队列和链式队列的设计方法;了解堆栈和队列的应用方法,掌握堆栈和队列的基本应用。

基本知识点:
●堆栈的基本概念、堆栈的抽象数据类型定义、
●堆栈的顺序表示和实现、堆栈的链式表示和实现;
●堆栈应用(数制转换问题、括号匹配问题等、表达式求值、栈与递归的实现等);
●队列的基本概念、队列的抽象数据类型定义、
●顺序队列、顺序循环队列、链式队列、队列应用。

教学重点:
●顺序堆栈和链式堆栈的设计方法;顺序循环队列和链式队列的设计方法。

实验:
实验5:栈的基本操作
实验6:队列的基本操作
习题课安排:
安排一次课下习题,并进行一次课堂讲解.
第四章串
教学要求:
掌握串及其基本概念;理解串的存储结构及串基本操作的实现;了解串的模式匹配算法; 基本知识点:
●串的定义和基本运算;
●串的存储表示及基本运算的实现;
教学重点:
●串的存储结构;
实验:
实验7:串的基本操作
第五章数组
教学要求:
掌握数组的定义及其实现机制;了解数组的抽象数据类型;掌握特殊矩阵的压缩存储和稀疏矩阵的压缩存储;了解广义表的概念和表示。

基本知识点:
●数组的定义及其实现机制;
●特殊矩阵(包括n阶对称矩阵、n阶三角矩阵)的压缩存储方法;
●稀疏矩阵的压缩存储方法:三元组顺序表、三元组链表。

●广义表的概念和表示。

教学重点:
●特殊矩阵的压缩存储;
●稀疏矩阵的压缩存储。

实验:
实验8:数组的三元组实现和逆置.
习题课安排:
安排一次课下习题,并进行一次课堂讲解.
第六章树
教学要求:
理解树与二叉树的基本概念,掌握二叉树的性质与存储结构;掌握二叉树的遍历算法和二叉树问题的遍历算法设计分析和实现.
基本知识点:
●树的定义;
●二叉树的定义及性质;
●二叉树的存储结构;
●二叉树的遍历;
●树的存储;
●数、森林与二叉数的转换;
●最优二叉树的构造;
教学重点:
●二叉树的先序遍历、中序遍历、后序遍历和层次遍历。

实验:
实验9:二叉树的遍历
实验10:哈夫曼树
实验11:二叉树的应用
习题课安排:
安排二次课下习题,并进行一到两次课堂讲解.
第七章图
教学要求:
了解图的基本概念和术语;掌握图的邻接矩阵和邻接表存储结构以及图操作的实现方
法;理解图的深度和广度遍历方法和算法设计方法;理解最小生成树的概念、普里姆算法和
克鲁斯卡尔算法;了解最短路径问题的基本概念和从一个结点到其余各结点最短路径的算
法。

基本知识点:
●图的基本运算的定义
●图的存储结构
●图的遍历算法
●如何得到图的最小生成树以及构造最小生成树的算法
●拓扑排序和AOV网(顶点表示活动的有向网)
●关键路径问题和AOE网(边表示活动的有向网)
●单源最短路径——迪杰斯特拉(Dijkstra)算法和每对顶点间的最短路径——弗洛伊德
(Floyd)算法
教学重点:图的邻接矩阵和图的邻接表存储结构;图的深度和广度遍历方法;普里姆算法和克鲁斯卡尔算法。

教学难点:
●操作的实现方法
实验:
实验12:图的创建和遍历
习题课安排:
安排一次课下习题,并进行一次课堂讲解.
第九章查找
教学要求:
掌握各种查找算法的特点、代码实现及应用范围;能应用各种查找算法解决实际问题。

基本知识点:
●顺序查找算法;
●折半查找算法;
●索引查找的算法;
●哈希表。

教学重点:
●顺序查找算法和折半查找算法;
●索引查找的算法。

●哈希表
实验:
实验13:查找算法的实现
习题课安排:
安排一次课下习题.
第十章排序
教学要求:
掌握排序的基本概念和排序算法的评判标准;掌握直接插入排序、希尔排序、直接选择排序、堆排序、快速排序、二路归并排序、基数排序的算法思想。

基本知识点:
●直接插入排序及其性能分析;
●冒泡排序及其性能分析;
●简单选择排序及其性能分析;
●快速排序及其性能分析。

●希尔排序、堆排序、二路归并排序和基数排序的算法思想.
教学重点:
希尔排序、堆排序、快速排序、二路归并排序和基数排序的算法思想。

.
实验:
实验14:排序算法的实现
习题课安排:
安排一次课下习题,并进行一次课堂讲解.
四、课程学时分配。

相关文档
最新文档