![点击分享此内容可以赚币 分享](/master/images/share_but.png)
《数据结构与算法(C#)》课程教学大纲.docx
《《数据结构与算法(C#)》课程教学大纲.docx》由会员分享,可在线阅读,更多相关《《数据结构与算法(C#)》课程教学大纲.docx(10页珍藏版)》请在咨信网上搜索。
《数据结构与算法(C#)》课程教学大纲 课程英文名称:Data Structures and Algor ithms (C#) 课程编号:HZ 162480 课程类别:学科(大类)教育平台 课程性质:必修 学 分:2 学 时:32 (其中:讲课学时:24,实验学时:8) 适用专业:地理信息科学 开课部门:环境与资源学院 先修课程:C#程序设计语言A、地理信息系统基础A等 后续课程:GIS二次开发、GIS软件工程等 一、课程目标 本课程的教学任务是针对大量的信息处理对象,介绍对象信息与数据表示的 各种抽象的、基本的逻辑结构及其上的基本运算操作。通过研究各种基本数据结 构内在的逻辑关系和它们在计算机中的存储表示方式,初步建立数据结构上基本 运算操作的正确性概念,同时,结合各种典型问题讨论其上的各种基本运算操作 及其基本算法,讲授各种数据结构的特点、适用范围,以及对一些基本算法效率 的定性和定量分析方法,为后续课程提供必要的数据结构基础。此外,配合实验 课程的教学中,学生应理论联系实际,理论指导实践,通过规范地完成一系列数 据结构实验进一步巩固所学的相关书本知识,在知识、能力、素质上得到进一步 的提高。通过该课程理论教学与上机实验,到达以下的教学目标: 1 .通过学习本门课程,提高学生的逻辑思维能力、数学运算能力以及应用 数据结构方法解决实际当中遇到的编程问题,从而提高学生的数学建模能力与编 程能力。 2 .能够应用数据结构的概念和方法,将现实物理世界中的抽象问题转为地 理信息世界中的数学问题,从而具备应用数学模型的解决问题的能力与一定的地 理信息问题重构思维。 二、课程目标与毕业要求的对应关系 课程目标 指标点 毕业要求 课程目标1 1.1通过学习数学提 高抽象思维能力、逻 辑推理能力、数学运 算能力以及应用掌握 数学建模方法解决实 际问题的能力。 1掌握数学、自然科学、地理信息基础和专业知识, 具备地球空间数据采集、获取与应用能力、地球空 间信息数据处理与建库能力。 2,本课程为学生编程开发打下一定的基础,要到达用人单位实际需要编程 能力,还有待于课后多做练习,并不断学习。 10 3 .本大纲的编写,是课程组集体智慧的结晶。 课程目标2 2. 1能够应用数学和 自然科学基本方法, 将地理信息工程问题 转化、表述为数学问 题进行分析。 2能够应用数学、自然科学和地理信息科学的基本 原理,识别、表达、并通过文献研究分析地理信息 专业问题,具备地理信息系统的架构能力。 课程目标3 4.2能够利用新技术 和计算机技术,进行 创新性实验设计,并 通过分析解释和改 进,得到合理有效的 结论 4能够基于科学原理并采用科学方法对复杂工程实 践问题进行研究,通过实验设计与实施,对结果进 行分析、解释,综合多源信息得到合理有效的结论, 具备科学研究的初步能力。 三、课程目标与教学内容和教学方法的对应关系 数据结构理论 数据结构实验 教学内容 教学方法 课程目标 实验工程 课程目标 教学环节 训练环节 1 数据结构和算 法简介 授课2学 时 1 2 解决线性表的 编程问题 授课2学 时 作业1 1 1.线性表的操 作(2个学时) 1 3 解决堆栈的编 程问题 授课2学 时 作业2 2 4 解决队列编程 问题 授课3学 时 作业3 1、2 2栈与队列的 程序编制(2个 学时) 1、2 5 解决串的编程 问题 授课3学 时 作业4 1、3 6 解决数组的编 程问题 授课2学 时 作业5 1、2、3 7 解决二叉树的 问题 授课3学 时 作业6 2/3 8 解决树的编程 问题 授课3学 时 作业7 1、2、3 3二叉树的基本 操作(2个学时) 1、2、3 9 解决图的编程 问题 授课2学 时 作业8 1、2、3 10 执行排序算法 授课2学 时 作业9 1、2、3 4图与排序的编 程实现(2个学 时) 1、2、3 合计 24学时 8学时 四、课程的主要内容及基本要求 (一)理论学时局部 第一章 数据结构和算法简介(2学时)(支撑课程目标1)[知识点]本章要求学生了解数据结构的一些基本概念:数据、数据元素、数 据逻辑结构、数据存储结构、数据类型、算法等,掌握并熟悉运用抽象数据类型, 描述算法所用的C#语言中的一些有关问题,算法时间复杂度和空间复杂度的分 析。 [重 点]数据、数据元素、数据逻辑结构、数据存储结构、数据类型、算法, 抽象数据类型。 [难点1算法时间复杂度和空间复杂度的分析。 [基本要求]识 记:数据结构的研究内容。 1. 领 会:(1)抽象数据类型的表示和实现。 (2)算法的定义和特性。 (3)评价算法优劣的基本标准。 2. 简单应用:(1)简单数据结构的程序设计。 (2)简单数据结构程序的时间复杂度和空间复杂度分析。 4. 综合应用:(1)数据结构的一些基本概念。 (2)算法的时间复杂度分析。 第二章 解决线性表的编程问题(2学时)(支撑课程目标1) [知识点1本章要求学生了解线性表的基本概念和类型定义,熟悉掌握线性表 的顺序存储结构以及线性表的链接存储结构,能够熟练的运用单链表的查找、插 入和删除,掌握并熟练运用循环链表,双向链表。 [重 点]线性表的顺序存储结构,线性表的链接存储结构,单链表的查找、插入和删除,循环链表,双向链表。 [难点1单链表的查找、插入和删除,循环链表,双向链表。 [基本要求]识记:(1)线性表的定义。 (2)线性表的特点。 1. 领会:(1)线性表的抽象数据类型定义。 2. 简单应用:(1)线性表的顺序存储和基本操作实现。 (2)单链表的存储和基本实现。 (3)双链表的存储和基本实现。 4. 综合应用:(1) 一般线性表的合并。 (2)有序表的合并第三章 解决堆栈的编程问题(2学时)(支撑课程目标2) [知识点]本章要求学生了解栈的类型定义,栈的顺序存储和链接存储的表示, 掌握在栈的顺序存储和链接存储上进行常见栈操作的算法。 [重 点]栈的顺序存储。 [难 点]栈的链接存储。 [基本要求]识记:栈的类型定义。 1. 领会:栈的存储结构表示和实现。 2. 简单应用:中缀与后缀表达式转换及求值。 3. 综合应用:利用栈实现迷宫求解问题。 第四章 解决队列的编程问题(3学时)(支撑课程目标1、2)[知 识 点]本章要求学生了解队列的类型定义,掌握队列的顺序存储和链接存 储表示及各种操作的实现算法。 [重点]队列的顺序存储和链接存储。 [难 点1队列的顺序存储和链接存储。 [基本要求]识记:识记队列的类型定义。 1. 领会:队列的存储结构标识和实现。 2. 简单应用:队列的顺序表实现及链表实现方式。 3. 综合应用:利用队列模拟汽车加油站问题。 第五章解决串的编程问题(3学时)(支撑课程目标1、3)[知 识 点]本章要求学生了解串的定义,串的顺序存储和链接存储的表示,掌 握在串的查找算法与匹配算法。 [重 点]串的顺序存储和链接存储。 [难点]串的查找与匹配。 [基本要求]识记:串的表示和实现方式。 1. 领会:串的插入与查找。 2. 简单应用:串的简单匹配算法实现。 3. 综合应用:快速模式匹配算法。 第六章 解决数组的编程问题(2学时)(支撑课程目标1、2、3)[知 识 点].本章要求学生了解数组的定义,数组的顺序存储和数组的插入和删 除,掌握转置矩阵的三元表示方法。 [重点J数组的顺序存储。 [难点].数组的查找与匹配。 [基本要求]识记:数组的存储方法、特殊存储结构。 1. 领会:特殊矩阵的压缩存储。 2. 简单应用:二维矩阵的一维数组三元表示方法。 3. 综合应用:根据矩阵的特点,选用合适的数组压缩算法,实现转置矩阵的快速转置。 第七章解决二叉树的问题(3学时)(支撑课程目标2、3)[知识点]本章要求学生了解树的定义、性质和表示方法,重点掌握二叉树的 定义、性质和存储结构以及二叉树的各种遍历方法及实现,建立二叉树、输出二 叉树、求二叉树深度等的操作方法及实现,熟悉掌握树的存储结构,进行先根遍 历、后根遍历和按层遍历的方法及实现,进行树与二叉树的转换方法。 [重. 点]二叉树的定义、性质和存储结构,建立二叉树、输出二叉树、求二 叉树深度等的操作方法及实现。 [难 点1 树的存储结构,进行先根遍历、后根遍历和按层遍历的方法及实现。 [基本要求]识记:二叉树的定义。 1. 领会:(1)二叉树的术语。 (2)特殊的二叉树。 2. 简单应用:二叉树的三种表示方法及存储结构。 3. 综合应用:(1)二叉树的性质。 (2)二叉树的遍历方法:先序、中序与后序。 第八章 解决树和森林的问题(3学时)(支撑课程目标1、2、3)[知识点]本章要求学生了解树和森林的定义、性质和表示方法,重点掌握熟 悉掌握树的存储结构,进行先根遍历、后根遍历和按层遍历的方法及实现,进行 树、森林与二叉树的转换方法。 [重 点]树和森林的定义、性质和存储结构。 [难 点]树的存储结构,进行先根遍历、后根遍历和按层遍历的方法及实现, 进行树与二叉树的转换方法。 [基本要求]识记:树和森林的定义。 1. 领会:树的遍历方式。 2. 简单应用:树、森林和二叉树的转换。 3. 综合应用:实现树的哈夫曼编码。 第九章 解决图的问题(2学时)(支撑课程目标1、2、3)[知 识 点]本章要求学生了解图的定义和术语,熟练掌握图的邻接矩阵、邻接 表和边集数组表示,图的深度和广度优先搜索遍历,图的生成树和最小生成树, 了解拓扑排序。 [重点]图的邻接矩阵、邻接表和边集;数组表示,图的深度和广度优先搜索,图的生成树和最小生成树。 [难 点]图的深度和广度优先搜索遍历,图的生成树和最小生成树。 [基本要求]识记:图的定义和术语。 1. 领会:(1)图的邻接矩阵表示法。 (2)图的邻接表表示法。 2. 简单应用:图的遍历方法:深度优先遍历、广度优先遍历。 3. 综合应用:(1)拓扑排序和关键路径。 (2)最短路径问题算法:迪杰斯特拉算法。 第十章 实现排序算法(2学时)(支撑课程目标1、2、3)[知 识 点]本章要求学生了解排序的概念,掌握直接插入排序,冒泡排序和快 排序,直 接选择排序和堆排序,归并排序等排序算法。 [重点]直接插入排序,冒泡排序和快排序,直接选择排序。 [难 点]冒泡排序和快排序,直接选择排序,堆排序,归并排序。 [基本要求]识记:排序的基本概念。 1. 领会:常见的排序算法及各算法的优劣。 2. 简单应用:简单项选择择排序、堆排序、2-路归并排序的编程实现。 3. 综合应用:直接插入排序、折半插入排序、希尔排序、快速排序、 冒泡排序的编程实现;排序算法分析。 学时分配 序号 课程内容 讲课 1 数据结构和算法简介 2 2 解决线性表的编程问题 2 3 解决堆栈的编程问题 2 4 解决队列编程问题 3 5 解决串的编程问题 3 6 解决数组的编程问题 2 7 解决二叉树的问题 3 8 解决树的编程问题 3 9 解决图的编程问题 2 10 执行排序算法 2 合计 24 (二)实验学时局部实验总共8学时: 1线性表的操作 2 2栈与队列的程序编制 2 3二叉树的基本操作 2 4图与排序算法的实现 2 合计 8 [实验教学环节作用及目的]这门课程的主要任务是培养学生的算法设计能力及良好的程序设计习惯。通 过学习,要求学生能够掌握典型算法的设计思想及程序实现,能够根据实际问题 选取合适的存储方案设计出简洁、高效、实用的算法,为后续课程的学习及软件 开发打下良好的基础。通过实验课程更好的训练学生算法分析及算法设计的能 力。 [实验教学环节培养学生能力标准] 本实验主要通过程序编制开展实验,在实验教学过程中培养学生的思维分析 能力和程序开发能力,从而使学生运用程序的方式检验所学的理论知识,根据每 次实验内容,按照不同的实验目的和数据组织方式,设计程序,完成不同的实验 任务,使学生能够真正的做到理论与实践相结合。 [实验工程、内容、学时分配及实验类型]1、必开实验 序号 实验工程 实验内容 学时 实验类型(演示、 验证、综合、设计 研究) 组数 每组学生 人数 1 线性表的 操作 根据线性表的概念,实现 顺序表与链表的程序 2 设计 1 2 栈与队列 的程序编 制 利用C#语言实现栈和队 列两大概念,每个概念实 现方式通过顺序表与链 表实现。 2 验证 1 3 二叉树的 基本操作 通过构建二叉树,实现二 叉树的先序,中序与后序 访问与排序。 2 验证 1 4 图与排序 算法的实 现 利用程序实现图的存储 与访问,实现常见的3种 排序算法。 2 综合设计 1 2、主要仪器设备计算机、VS2010以上开发程序包。 五、教学方法与手段 1,坚持教师理论讲解与学生实践相结合,不断地吸收先进理论知识和 最新管理学研究动态。理论教学要结合学生的编程大赛、课堂讨论、案例分 析等展开,努力降低学生接受知识的难度,不断提高学生发现、分析和解决 问题的能力。 2 .坚持传统教学手段与现代教学手段相结合,教学内容安排要突出重 点和难点,积极应用多媒体教学技术,尽可能把抽象的理论转化为具体的案 例、视频,使复杂的理论变得简单、直观,力求化难为易,努力提高学生的 学习兴趣。 3 .注重应用启发式教学、开展课堂讨论等教学方法,引导学生积极思 考问题、分析问题,拓展学生的思维。 六、考核要求、方式与成绩评定 期末考试统一命题,统一评分标准,统一考试时间。考试范围不超过大纲的 内容。笔试考试,考试时间为100分钟。成绩定为百分制。实行结构评分,平时 成绩占40%,期末考试成绩占60%。 评价环节 评估课程目标 对应毕业要求 平时成绩(40分) 平时作业 课程目标1、2、3 1、2、3 上机实验 课程目标1、2、3 1、2、3 期末考试(60分) 选择题 简答题 综合题 课程目标1、2、3 1、2、3 平时成绩评定标准 环节 评定工程 内容 分值 总分值 平时 作业 课程目标1、2、 3 方法运用基本正确,结论不明确, 理论阐述不够完整; 5-6分 10分 方法运用正确,结论正确,但理 由不够充分; 6・8分 方法运用正确,理由充分,结论 正确; 8-10 分 上机 实验 课程目标1、2、 3 程序框架设计基本合理,但程序 结果有问题,实验报告内容撰写 基本完整; 5・10分 30分 能够根据实验步骤,完成实验内 容,实险报告内容撰写完整,逻 辑清晰,语句通顺,实脸结果基 本满足要求; 10-20 分 实验内容完成效果较好,程序设 计合理,实验报告内容撰写完整, 逻辑清晰,语句通顺,实验结果 正确且完善; 20-30 分 七、选用教材、讲义和主要参考书 1 .推荐教材: 《数据结构(C#语言版)》,雷军环编著,清华大学出版社,2019。 《数据结构(C#语言描述)(第2版)》,陈广编者,北京大学出版社,2014。 2 .推荐参考书: 《图解数据结构--使用C#》,吴灿铭、胡昭民编著,清华大学出版社,2019。 《数据结构(C++语言版)》,秦锋、汤亚玲编著,人民邮电出版社,2014。 八、大纲说明 1.本课程宜按小班上课,如要合班,建议不要超过70人。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构与算法C# 数据结构 算法 课程 教学大纲
![提示](https://www.zixin.com.cn/images/bang_tan.gif)
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文