课程概况
学了C/C++ 语言,我们已经会编程解题了,那怎么用来处理实际的问题呢?
怎么设计数据结构来有效地管理企业人员?如何编写程序没让人才和岗位达到最佳匹配?如何安排旅行计划,找到最佳行程路径?这些学习、工作、生活中常常困扰我们的问题,你将在《数据结构基础》课程中找到答案。
数据结构是计算机程序设计的基础,告诉我们数据在计算机里是如何组织与存储的,能帮助我们刻画实际问题中的信息及其相互关系。当我们对一个实际问题本身有了一个结构化的认识之后,就可以选择合适的解决方法了。
完成这门课之时,你将掌握线性表、栈与队列、字符串、二叉树、树、图等经典的数据结构,并运用这些基础数据结构和相关算法解决实际应用问题。扎实的数据结构知识是项目开发与结构层次设计的关键,学好这门课会让你在高年级的计算机专业课程以及毕业项目设计中事半功倍,同时也将为你成为一名优秀的程序设计人员打下坚实的基础。
课程大纲
第一周 概论
问题求解
数据结构与抽象数据类型
算法特性及分类
算法效率与度量
第二周 线性表
线性结构
顺序表
链表
顺序表和链表的比较
第三周 栈与队列
栈
栈与递归
递归转非递归(选修)
队列
队列的应用
第四周 字符串
字符串基本概念
字符串的存储结构
字符串运算的算法实现
字符串的快速模式匹配(选修)
第五周 二叉树(上)
二叉树的概念
二叉树的抽象数据类型
二叉树的搜索
二叉树的存储结构
第六周 二叉树(下)
二叉搜索树
堆与优先队列
Huffman树及其应用
第七周 树
树的定义、树与二叉树的等价转换
树的抽象数据类型及树的遍历
树的链式存储结构
树的父指针表示法
树的顺序存储和K叉树
第八周 图
图的概念和抽象数据类型
图的存储结构
图的遍历
最短路径
最小生成树
预备知识
基本的C/C++编程能力
参考资料
[1] 张铭,赵海燕,王腾蛟,《数据结构与算法实验教程》,高等教育出版社,2011年 1月。普通高等教育“十一五”国家级规划教材。
[2] 张铭、赵海燕、王腾蛟,《数据结构与算法--学习指导与习题解析》,高等教育出版社,2005年 10月。 “十五”国家级规划教材配套参考书。