课程介绍
数据结构-课程简介
(1)培养目标
《数据结构》是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术专业的核心基础课程。本课程的主要讨论数据之间的关系、数据在计算机中的存储以及相关算法,是高级程序设计语言、编译原理、操作系统、数据库、人工智能等课程的基础。
本课程的主要目标是使学生掌握各种数据结构的逻辑结构,存储结构及有关操作的算法;学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法;了解算法的时间分析和空间分析技术;通过对本课程算法设计和上机实践的训练,培养学生的数据抽象能力和程序设计的能力
(2)内容设置
[1] 数据结构的概念
数据结构的概念与分类、 算法定义、算法分析与度量
[2] 线性表
线性表的概念与逻辑特点、顺序表的实现与应用、链表(单链表、单向循环链表、双向循环链表)的实现与应用、静态链表的实现
[3] 栈与队列
栈的定义、逻辑特点及实现;队列的定义、逻辑特点及实现; 栈的应用:括号配对、表达式求值; 递归:递归定义、递归程序的编写、递归程序转化为非递归;双端队列和优先级队列的实现
[4] 字符串、数组与广义表
字符串的概念、实现与模式匹配;多维数组寻址、特殊矩阵的压缩存储、稀疏矩阵;广义表的概念、存储及算法实现
[5] 树与二叉树
树的定义与基本概念;二叉树的定义、性质与实现;二叉树的遍历与应用;二叉树的计数;线索二叉树的概念与实现;树的多种存储表示,树的遍历,树、森林与二叉树的相互转换;哈夫曼树的概念与实现;堆的概念与实现;二叉搜索(查找)树的概念与实现;AVL树的概念与实现;树的应用:并查集的概念与实现
[6] 图
图的基本概念与存储表示;图的遍历与连通性;最小生成树算法;最短路径算法;拓扑排序与关键路径
[7] 查找
查找的概念;顺序查找与折半查找的算法实现与性能分析;次优查找树的构造方法;跳表;索引结构:B树和B+树;散列:概念、散列函数构造方法以及解决冲突的方法
[8] 排序
排序的概念;插入排序:直接插入排序、折半插入排序、希尔排序;交换排序:冒泡排序、快速排序;选择排序:简单选择排序、锦标赛排序、堆排序;归并排序、基数排序、表排序;各种排序算法的实现、性能分析及比较
(3)主要教学方式
本课程追求理论联系实际,实践教学与相应的教学内容相呼应。在形式上,灵活多样地采取了实践、拓展性学习、报告会等多种形式,目的在于加深学生对所学内容的理解,发展学生从事算法与程序设计研究和实践的能力,努力做到学以致用,同时激发学生的学习兴趣和主动参与精神,更好地掌握和运用所学习的知识。
(4)先修课要求
程序设计基础。
|
|
联系电话:010-58807943
邮编:100875
地址:北京市海淀区新外大街19号电子楼