收藏 分销(赏)

C语言版数据结构48学时教学大纲.docx

上传人:二*** 文档编号:4539371 上传时间:2024-09-27 格式:DOCX 页数:5 大小:14.77KB 下载积分:5 金币
下载 相关 举报
C语言版数据结构48学时教学大纲.docx_第1页
第1页 / 共5页
本文档共5页,全文阅读请下载到手机保存,查看更方便
资源描述
数据结构B Data Structure 课程代吗: 学时救:48(讲课38 卖脸10 研讨0 实习0)学分数:3课程类别:学科基础课开课学期:3 主讲教师: 编写日期: 一、健程优质为 口的 课程性质:数据结构B是计算机科学与技术(物联网方向)、网络工程专业的一门重要 学科基础课,是必修课。 教学目的:通过本课程的学习,一方面,使学生学会分析研究计算机加工的数据结构的 特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对 算法的时间分析和空间分析技术。另一方面,通过对本课程算法设计和上机实践的训练,还 应培养学生的数据抽象能力和程序设计的能力。 二、福程敬当何容、多时今纪打福程敖当皋埼要求.绪论(理论2学时) 教学内容: (1)数据结构的一些基本概念:数据、数据元素、数据的逻辑结构、物理结构、算法等。 (2)抽象数据类型的表示和实现。 (3)算法时间复杂度和空间复杂度的分析。 基本要求: 掌握数据结构的基本概念,了解抽象数据类型,掌握算法时间复杂度和空间复杂度的分 析方法。 1 .线性表(理论6学时,实验2学时) 教学内容: (1)线性表的类型定义。 (2)线性表的顺序表示和实现。 (3)线性表的链式表示和实现。 基本要求: 理解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系 的两类不同的存储结构是顺序存储结构(顺序表)和链式存储结构(链表)。熟练掌握这两 类存储结构的描述方法,掌握链表中的头结点、头指针和首元结点的区别及循环链表、双向 链表的特点等。掌握顺序表的查找、插入和删除算法,掌握链表的查找、插入和删除算法。 能够从时间和空间复杂度的角度比拟两种存储结构的不同特点及其适用场合。 实验: 实验内容:单链表的基本操作。实验要求:以单链表形式创立一个学生表或图书表,并 能实现相关的查找、插入和删除等算法。 2 .栈和队列(理论4学时,实验2学时) 教学内容: (1)栈的类型定义,栈的顺序存储和链接存储的表示和实现。 (2)栈的应用举例,如迷宫求解和表达式求值。 (3)栈与递归的实现,Hanoi塔问题。 (4)队列的类型,队列的顺序存储(循环队)和链接存储的表示和实现。 基本要求: 掌握栈和队列的特点,并能在相应的应用问题中正确选用。熟练掌握栈的顺序栈和链栈 的进栈出栈算法,特别应注意栈满和栈空的条件。熟练掌握循环队列和链队列的进队出队算 法,特别是循环队列中队头与队尾指针的变化情况。理解递归算法执行过程中栈的状态变化 过程。了解在表达式计算时栈是如何使用的,重点了解计算表达式的方法和算法思路。 实验: 实验内容:栈的应用。实验要求:借助栈来解决某些实际应用问题,如表达式求值等。 3 .串、数组和广义表(理论2学时) 教学内容: (1)串的表示和实现,包括顺序存储和链式存储表示。古典的模式匹配算法。 (2)数组的存储方法。 (3)广义表的逻辑结构和存储结构。 基本要求: 了解串的顺序存储结构和堆存储结构。掌握串的古典的模式匹配算法。掌握数组的地址 计算方法.了解广义表的结构特点及其存储方法。 4 .树和二叉树(理论6学时,实验2学时) 教学内容: (1)二叉树的定义和术语,二叉树的性质,特殊的二叉树。 (2)二叉树的存储结构,顺序存储和二叉链表。 (3)二叉树的的前序、中序、后序、层次遍历方法。 (4)树的应用,哈夫曼树及哈夫曼编码。 基本要求: 了解树和森林的概念,包括树的定义、树的术语。掌握二叉树的概念、性质及二叉树的 表示。熟练掌握二叉树的遍历算法,并且能灵活运用遍历算法实现二叉树的其他操作。掌握 哈夫曼树的实现方法、构造哈夫曼编码的方法及带权路径长度的计算。 实验: 实验内容:二叉树的基本算法。实验要求:利用二叉链表方法建立二叉树,实现二叉树 的前、中、后序三种遍历算法,并运用遍历算法实现二叉树的其他操作,如计算二又树结点 个数、叶子结点个数、二叉树的高度等。 5 .图(理论6学时) 教学内容: (1)图的定义和术语。 (2)图的存储结构两种存储结构:邻接矩阵和邻接表表示法。 (3)图的两种遍历策略:深度优先搜索和广度优先搜索。 (4)构造最小生成树的两种算法:普里姆算法和克鲁斯卡尔算法。 (5)拓扑排序。 (6)求最短路径问题的算法,迪杰斯特拉算法。 基本要求: 掌握图的基本概念及相关术语和性质,掌握图的邻接矩阵和邻接表表示法,了解实际问 题的求解效率与采用何种存储结构和算法有密切联系。熟练掌握图的两种搜索路径的遍历: 深度优先搜索和广度优先搜索算法的思想。掌握构造最小生成树的两种算法及拓扑排序算法 的思想,掌握迪杰斯特拉算法的思想。 6 .查找(理论6学时,实验2学时) 教学内容: (1)查找的基本概念,平均查找长度。 (2)基于线性表的查找:顺序查找、折半查找。 (3)基于树表的查找:二叉排序树。 (4)散列表:散列表的基本概念,散列函数的构造方法、处理冲突的方法、散列表的台 找与分析。 基本要求: 熟练掌握顺序表和有序表的杳找方法及其实现,掌握二义排序树的插入和查找算法的思 想。熟练掌握散列表的构造方法、处理冲突的方法,深刻理散列表与其他结构的表的实质性 的差异,了解各种散列函数的特点。掌握描述折半查找过程的判定树的构造方法,以及按定 义计算各种查找方法在等概率情况下查找成功时的平均查找长度。 7 .排序(理论6学时,实验2学时) 教学内容: (1)排序的基本概念,包括正序,逆序,稳定性,排序方法的分类。 (2)插入排序:直接插入排序、折半插入排序。 (3)交换排序:冒泡排序和快速排序。 (4)选择排序:简单项选择择排序和堆排序。 (5)归并排序:2-路归并排序。 (6)排序算法分析:各种排序算法的比拟和移动次数,时间复杂度和空间复杂度的分析。 基本要求: 明确排序的基本概念,排序方法的分类。深刻理解排序算法的过程、特点及其依据的原 那么,并能加以灵活应用。掌握各种排序方法的时间和空间复杂度的分析方法。能从关键字间 的比拟次数和移动次数分析算法的平均情况和最坏情况的时间性能。理解排序方法“稳定” 或“不稳定”的含义,弄清楚在什么情况下要求应用的排序方法必须是稳定的。快速排序、 堆排序和归并排序等高效排序方法是本章的学习重点和难点。 实验: 实验内容:综合性实验。实验要求:选取一个合适的数据结构存储数据,能对数据进行 插入、删除,用不同杳找算法进行查找、用不同的排序算法进行排序等。 三、存锦福易其它福程的麟乐打今工 本课程的先修课为程序设计基础,本课程可以C/C++或Java语言作为算法描述和上机 实践的工具。同时,本课程又是软件开发与设计等方面课程的基础,如数据库、操作系统、 软件工程等课程。 四、中锦程的考核方X 期末考试采用笔试形式,考试题型为:选择、填空、判断、应用题和算法设计题。总评 成绩由平时成绩和期末成绩组成,其中平时成绩占30%—40%,期末考试占70%—60% 课程实习的成绩由平时成绩和实习作业两局部组成,其中平时成绩占30%,实习作、也 占 70%。 五、文衩敖材⑤放考表考书 建议教材: 1.数据结构. 建议教学参考书: 数据结构与算法一面向对象的C++设计模式 大、锦程荀介 数据结构是一门专业基础课,是学习其他软件开发与设计等方面课程的基础。主要内容 包括•:线性表、栈和队列、串、数组和广义表、树、图、查找算法和排序算法。数据结构研 究数据的组织方式,内容丰富、学习量大,隐含在各局部内容中的方法和技术多,旨在让学 生掌握计算机软件系统所必需的数据结构的算法。要求学生掌握贯穿全课程的动态链表存储 结构,掌握算法设计的动态性和抽象性。要求学生学会分析研究计算机加工的数据对象的特 征,以便在实际应用中选择适当的数据结构、存储结构和相应算法,初步掌握算法的时间与 空间性能分析技巧,并培养复杂程序设计的技能。 执笔人: 审核人: 教学院长: 院学术委员会: 院长:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服