文档介绍:Data Structures & Algorithms
数据结构与算法
教材及参考书
严蔚敏,吴伟民, 数据结构(C语言版),清华大学出版社
严蔚敏,吴伟民, 数据结构习题集(C语言版)
高一凡,《数据结构》算法实现及解析,西安电子科技大学出版社
教材及参考书(1)
傅清祥,王晓东,算法与数据结构(第二版),电子工业出版社
徐孝凯,数据结构实用教程(C/C++描述),清华大学出版社
杨正宏,数据结构,中国铁道出版社
刘汝佳,黄亮,“算法艺术与信息学竞赛”,清华大学出版社
李春葆,数据结构(C 语言篇)习题与解析,清华大学出版社
教材及参考书(2)
Robert L,Kruse”Data Structures and Program Design In C++”(影印版),高等教育出版社
Thomas H. Cormen,”Introduction to Algorithms”(第二版,影印版), 高等教育出版社
Robert Sedgewick,”算法I~IV(C++实现)—基础、数据结构、排序和搜索”(第三版,影印版),高等教育出版社
Robert Sedgewick,”算法V(C++实现)—图算法”(第三版,影印版),高等教育出版社
课程安排及要求
总学时: 80学时: 64(讲课) + 16(上机)
1-16周,平均每周5学时
授课内容: 教材1-10章(第8章不讲)
成绩评定:闭卷考试(60%)
作业、考勤(20%)
上机(20%)
先修课程: C语言(或PASCAL语言),离散数学
学时分配(含机时)
第1章绪论(2)
第2章线性表(8)
第3章栈和队列(10)
第4章串(6)
第5章数组和广义表(6)
第6章树和二叉树(16)
第7章图(14)
第9章查找(10)
第10章内部排序(8)
第一章绪论
什么是数据结构
基本概念和术语
抽象数据类型的表示与实现
算法与算法分析
什么是《数据结构》
为什么要学习《数据结构》
《数据结构》的范畴
《数据结构》的发展历史
《数据结构》的地位
学习《数据结构》的基本要求
学习《数据结构》的几点建议
为什么要学习数据结构?
提高编程能力
扩展用计算机求解问题的思路
为相关课程打基础,如操作系统,编译原理、人工智能等
其它
思考题
1. 试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如‘序列1&序列2’模式的字符序列。其中序列1和字符序列2都不含字符‘&’,且序列1是序列2的逆序列。例如‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。
3. 写一算法,对n个100以内的整数进行排序,要求算法越快越好。
2. 写一算法对你的家谱进行管理,以便完成一些操作,比如查找某个成员以及他的祖先或子孙等,统计某个成员的子孙数,找两个成员的共同祖先等