用户登录 / Login

 
 

访问统计 / Visit

  • 本日点击数 : 
  • 在线人数 : 1
  • 本日访问人次 : 
  • 总访问人次 : 0

教学大纲

编辑:rjkf 时间:2019年03月10日 访问次数:219

授课方式与要求:
(1)课堂授课采用多媒体教学,并且理论教学与上机实验相结合的教学方式。
(2)根据授课内容布置上机作业,作业量平均每周1-2小时,主要针对基本概念、基本算法的程序设计。
考试评分与建议:
(1)考试形式:笔试,闭卷。
(2)成绩构成:考试占50%,平时作业占50%。
教学安排:
周次授课内容课时
1
算法和数据结构概述
3
概要地阐述算法和数据结构的基本概念,包括它们的定义、特征和基本要素。重点介绍计算机算法设计的基本方法和算法评价方法(即复杂度分析),数据的逻辑结构、存储结构及其运算操作,以及算法与数据结构之间的相互联系。此外,对编程语言做概括性说明,提供相应的参考资料。
思考:数据结构对算法有什么影响?请举例说明。
2
线性表,栈和队列
3
介绍数据结构中的线性表、栈和队列,包括它们的存储结构、基本运算操作以及C++语言实现。通过具体实例说明线性表、栈和队列在顺序和链式存储结构下如何应用于解决实际问题。
思考:栈和队列实际上为运算受限的线性表,试比较它们在运算操作上的差别。假设栈S和队列Q初始状态为空,元素e1, e2, e3, e4, e5, e6依次通过栈S,一个元素出栈后即进入队列Q,若出栈顺序为e2, e4, e3, e6, e5, e1,则栈的容量至少应该为多少?
3
树和二叉树——基本概念和存储结构
3
阐述数据结构中的树和二叉树的基本概念,包括它们的定义、基本术语、存储结构以及程序实现。重点介绍二叉树的遍历方法(前序、中序和后序)、存储结构(顺序存储和链式存储)以及遍历的程序实现。
思考:说明二叉树的前序、中序和后序遍历方法。如果已知一棵二叉树的前序遍历和后序遍历序列,能否唯一推断该二叉树?如果已知中序和后序遍历或中序和前序遍历呢?试举例说明这个问题的结论。
4
穿线二叉树,二叉树的应用
3
首先介绍穿线二叉树的基本概念和程序实现,它是一种记录了某种方式遍历序列的二叉树。其次,介绍一般有序树与二叉树之间如何转换以及表达式的线性化。最后以哈夫曼编码为例,具体说明了二叉树如何应用。
思考:二叉排序树具有如下性质:1 左子树上所有结点数据值均小于根结点的数据值;2 右子树上所有结点的数据值均大于根结点的数据值;3 左右子树本身又是一棵二叉排序树。请根据上述性质,设计二叉排序树的构造方法,并应用自己设计的构造方法画出待排序数据54, 50, 71, 23, 48, 55, 79, 32, 21的二叉排序树图。
5
图的基本概念、存储结构和图的遍历
3
首先介绍图的定义和基本术语;其次介绍图的存储结构,包括邻接矩阵和邻接表两种方式;最后,重点讲解图的遍历方法,包括纵向优先搜索和横向优先搜索两种方法以及它们的计算机程序实现。
思考:比较图和树的异同,以及图的遍历和树的遍历。
6
图的应用
3
介绍图的具体应用,涉及生成树和最小生成树、最短路径、拓扑排序、关键路径等几个方面,对于每种应用阐述相应的算法及其计算机程序实现。通过学习图的各种应用,要求更加熟练地掌握图的两种遍历方法(深度优先和广度优先),学会如何设计算法解决实际问题。
思考:试解释图的最小生成树、最短路径和关键路径,并说明它们在实际问题中的价值。
7
查找算法
3
介绍各种查找算法,包括基本查找技术(顺序查找、折半查找和分块查找)和哈希表技术,阐述各种查找技术的基本原理和计算机程序实现,并对查找算法的性能特性进行分析比较。
思考:哈希表技术的基本原理是什么?如何提高它的查找效率。请归纳课程中介绍的几种哈希表的适用对象及其优缺点。
8
排序算法
3
介绍各种排序算法,包括基本排序技术(冒泡排序、快速排序、简单插入排序、希尔排序、简单选择排序、堆排序、归并排序)和二叉排序树,阐述各种排序技术的基本原理和计算机程序实现,并对排序算法的性能特性进行分析比较。
思考:用课堂上讲到的排序算法对序列10, 9, 8, 7, 6, 5, 4, 3, 2, 1进行从小到大的排序,比较它们的排序效率。


上一篇:没有了
下一篇:没有了