数据结构与算法 (B)课程详细信息

课程号 04831420 学分 3
英文名称 Data Structure and Algorithm (B)
先修课程 计算概论
中文简介 1.从ADT角度介绍常用的数据结构和算法分析的基本方法。使学生从数据结构的逻辑结构、相应的一组基本运算、实现以及对实现的评价等方面去掌握线性表、栈、队列、串、数组、树、图等常用的数据结构,并对算法的时间和空间复杂性有一定的分析能力。
2.介绍排序技术。使学生掌握插入排序、选择排序、交换排序、基数排序、归并排序等常用的排序算法,并讨论他们的时间和空间开销。
3.通过本课程的学习,学生将掌握常用的数据结构和算法的设计和分析方法,提高程序设计的能力;针对简单的求解问题,选择合理的数据结构解决之。
英文简介 Understand principle and theory of Data Structures and Algorithms, able to design and implement fundamental data structures and algorithms.
Covers programming, data structures, algorithms.
Topics include the organization and implementation of fundamental data structures such as list, binary tree, tree and forest, and graph; sorting and searching; data abstraction and problem solving.
开课院系 生命科学学院
通选课领域  
是否属于艺术与美育
平台课性质 基础
平台课类型 理工类
授课语言 中文
教材 数据结构与算法,张铭、王腾蛟、赵海燕,高等教育出版社,2008.6,1,9787040239614;
数据结构与算法实验教程,张铭、赵海燕、王腾蛟、宋国杰,高等教育出版社,2011.1,算法与数据结构,张乃孝,高等教育出版社,2002.8,1,9787040112214;
数据结构与算法——学习指导与习题解析,赵海燕、王腾蛟,高等教育出版社,2005.10,
参考书 1,9787040302141;
1,978040178296;
教学大纲 1. “数据结构与算法B”是理工学生重要的计算机基础课程。其主要目的是使学生正确理解数据结构的基本概念、掌握各种基础数据结构与基本算法的实现方式,比较不同数据结构和算法的特点。通过学习,使学生能够提高用应用计算机解决实际问题的能力。
2. 本课程注重数据结构与算法基本理论和实践的结合,从问题求解的角度指导学生学习如何运用数据结构与算法知识来应用和解决实际问题,为将来利用从事计算机应用开发打下扎实的基础。
1.  数据结构和算法简介(2学时)
   数据结构定义(逻辑结构、存储结构、运算),抽象数据类型,算法及其算法度量和评价(大O表示法及其运算规则)。
2.  线性表(2学时)
   线性表(向量、链表)
3. 栈和队列(8学时)
   栈和队列(顺序、链接)、栈的应用。
4.  字符串(4学时)
   字符串抽象数据类型,存储表示和类定义,字符串的运算,字符串的模式匹配
5.  二叉树 (8学时)
   二叉树的概念及性质,二叉树的抽象数据类型,二叉树的周游,二叉树的存储实现、二叉检索树、堆与优先队列、Huffman编码树。
6. 树与森林(4学时)
   树的概念,森林与二叉树的等价转换,树的抽象数据类型,树的周游,树的链式存储,树的顺序存储。

期中考试(2学时)

7.  图 (6学时)
   图的基本概念,图的抽象数据类型,图的存储结构,图的周游(深度优先、搜索、广度优先、拓扑排序),最短路径问题,最小支撑树(Prim算法、Kruskal算法)。
8.  内排序(6学时)
   排序问题的基本概念,三种简单排序算法(插入排序、起泡排序、选择排序),Shell排序,快速排序,归并排序,堆排序,基数排序。
9.  文件管理和外排序(2学时)
   介绍外排序的特点,二路外排序、置换选择排序。
10.  检索(4学时)
   检索的基本概念,介绍基于线性表的检索,基于集合的检索、散列方法。
11. 索引技术(2学时)
   倒排索引,B+树等动态索引组织。
以课堂讲授为主,同时借助网络教学平台,拓展课堂讲授的相关知识,便于同学自主学习、巩固课堂所学内容。另外,组织3次独立的习题课(6小时),针对学生作业中出现年的典型问题进行深入探讨。
鉴于数据结构与算法是与实践紧密结合的课程,配合理论教学,将加强上机实习的训练,通过合理、有效地设计上机题目,改进作业评核方式,调动学生的积极性,启发引导学生掌握基础理论并能创新应用,增强学生综合运用有关知识的能力。
平时(书面作业、上机作业+报告、课堂测试、考勤)30%,POJ在线测试10%,期中30%,期末30%。
期中、期末考试。平时作业和上机作业由各班根据专业要求灵活掌握,教员协调给出成绩。
注重综合能力的考评,平时表现突出、上机实践能力较强的可以得到奖励加分。
教学评估 刘扬:
学年度学期:16-17-2,课程班:数据结构与算法 (B)1,课程推荐得分:4.18,教师推荐得分:4.24,课程得分分数段:90-95;
学年度学期:17-18-2,课程班:数据结构与算法 (B)3,课程推荐得分:3.88,教师推荐得分:3.97,课程得分分数段:85-90;
学年度学期:18-19-2,课程班:数据结构与算法 (B)3,课程推荐得分:0.0,教师推荐得分:7.18,课程得分分数段:80-85;
学年度学期:19-20-2,课程班:数据结构与算法 (B)1,课程推荐得分:0.0,教师推荐得分:5.71,课程得分分数段:80及以下;