“数据结构与算法”教学大纲 数据结构与算法A实验班   数据结构与算法A   数据结构与算法B  数据结构与算法实习
数据结构与算法”教学大纲

 

美国IEEEACM的教学计划CC2005和教育部计算机教指委计算机科学与技术专业规范”2006都明确地把“程序设计”、“算法与数据结构”列入计算机以及信息技术相关学科专业的本科必修基础课程。教育部计算机专业教指委中国计算机本科专业发展战略研究报告计算机科学与技术专业规范等明确地强调了实践教学和学生动手能力培养的重要性。数据结构是计算机系的本科核心课程之一,上承计算引论(或计算概论)与程序设计实习,下启高级算法和计算理论,向来是计算机本科教学的重中之重。

作为一门重要的专业必修课程,“数据结构与算法”课程既是对以往课程的深入和扩展,也是为将来更加深入地学习其他专业课程打下基础。课程中所学习的排序问题的算法,以及基本的树、图等数据结构,是计算机科学的基本功。B+树、Hash等高级数据结构,也是数据库、操作系统、编译原理、计算机网络等后续课程的基础。

“数据结构与算法”介绍基本数据结构、基本算法分析技术、排序、检索和索引技术。对常用的基本数据结构,讨论相应的存储实现技术和经典算法,并通过算法时间空间的效率分析,介绍时空权衡的原则。对常用的各种经典排序算法深入讨论其时间和空间开销。介绍文件管理和外排序技术,以及常见的检索和索引技术。通过该课程的学习,学生将基本掌握数据结构和算法的设计分析技术,提高程序设计的质量;根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制。

 

 

一、数据结构与算法A(实验班)(返回顶部

 

1.课程基本情况

课程编号

04830540

课程名称

数据结构与算法A(实验班)

Data Structure And Algorithm A

开课时间

一年级

二年级

三年级

四年级

适用院系

信息学院全体学生

课程定位

骨干基础课,必修课

学分

3学分

总学时

54学时

先修课程

计算引论,程序设计实习,集合论与图论,

概率统计A

后续课程

数据结构与算法实习,程序设计语言原理

教学方式

本课程是“数据结构与算法A”替代课程,针对基础比较好、学习能力突出、学有余力的实验班学生设置。课程将加大“数据结构与算法A”的深度和广度,提供更多的研究和讨论机会,因材施教、培养领袖人才。

以课堂讲授为主,同时借助网络教学平台,拓展课堂讲授的相关知识,便于同学自主学习、巩固课堂所学内容。另外,组织3次以上的独立习题课(6小时),针对学生作业中出现年的典型问题进行深入探讨。

鉴于数据结构与算法是与实践紧密结合的课程,配合理论教学,将加强上机实习的训练,通过合理、有效地设计上机题目,改进作业评核方式,调动学生的积极性,启发引导学生掌握基础理论并能创新应用,增强学生综合运用有关知识的能力。

课时分配

3(课堂教学)+1(教学实验)/周

考核方式

平时(书面作业、课堂测试)20%,上机(+报告)15%,期中20%,期末20%,高级数据结构20%,考勤和态度5%。

期中、期末考试,全学院的“数据结构与算法A”和“数据结构与算法A(实验班)”统一出题、统一阅卷。平时作业和上机作业由各班根据专业要求灵活掌握,教员协调给出成绩。

注重综合能力的考评,平时表现突出、上机实践能力较强的可以得到奖励加分。

主要教材

  1. 张铭、王腾蛟、赵海燕,《数据结构与算法》,高等教育出版社,2008年6月。

参考资料

  1. 许卓群、杨冬青、唐世渭、张铭,《数据结构与算法》,高等教育出版社,2004年7月。
  2. 张铭、赵海燕、王腾蛟,《数据结构与算法习题指导》,高等教育出版社,2005年8月。
  3. Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest, Clifford Stein, Inroduction to Algorithms, MIT Press, 2nd edition, 2001. 高等教育出版社影印。

其它信息

 

 

2.教学目的和要求

1)掌握并巩固基础数据结构知识:线性表、树、图等常用的数据结构和算法的设计分析技术;常用的排序、检索算法及其时间空间开销;对算法复杂性进行必要分析和控制。

 

2)理解编译栈的工作原理,熟习用栈消除递归的算法框架,并解决相关应用问题。

 

3)初步掌握稀疏矩阵、广义表等高级线性结构技术,了解Trie结构、AVL树等高级树形结构。

 

4)对抽象数据类型有深入的理解,能根据所求解问题的性质选择合理的数据结构,设计并完成处理海量数据的复杂应用系统。

 

3.课程特色

“数据结构与算法”是一门重要的计算机类骨干基础课程。其主要目的是使学生较全面地理解数据结构的概念、掌握各种数据结构与算法的实现方式,比较不同数据结构和算法的特点。通过学习,使学生能够提高用计算机解决实际问题的能力。

本课程针对实验班的学生,将以问题求解为主线,从问题抽象、数据抽象和算法抽象的角度来组织数据结构与算法的设计,指导学生建立数学模型、使用不同的数据结构不同的算法分别去解决问题,最后去探讨各种数据结构和算法的优缺点,同时让学生学会怎么样根据实际问题来取舍数据结构和算法,并且在时间复杂度和空间复杂度之间进行平衡。

在讲授过程中,将调动学生的积极性,采取研究式的学习方法。有些较基础的内容采用学生综述、答辩、小测验的形式,培养学生的自学能力。引导学生跟踪数据结构与算法的前沿应用技术,引入研读论文并作报告的讨论班形式,培养学生的捕捉新理论、新技术的科研能力。

最后的合作大实习题由学生自己提出,并组织团队完成。由助教引导讨论,从需求分析、模块设计、编程实践、调试测试各个阶段进行引导,加强学生们综合应用数据结构和算法知识的能力。

本课程将通过设置的课程网站提供课堂讲义和最新的参考材料。

 

4 .课程内容摘要和知识点

 

章节

课时

内容摘要和知识点

重要性

1

 

数据结构和算法简介

2

数据结构定义(逻辑结构、存储结构、运算)

抽象数据类型

算法及其算法度量和评价(大O表示法及其运算规则)

难度

▃▄▅

重要性

★★★★★

2

线性表、栈和队列

8

线性表(向量、链表)

栈和队列(顺序、链接)、栈的应用

根据专业选讲递归到非递归的转换机制和方法

难度

▃▄▅▆

重要性

★★★★

3

字符串

4

字符串抽象数据类型,存储表示和类定义

字符串的运算

字符串的模式匹配

难度

▃▄▅▆▇

重要性

★★★

4

二叉树

10

二叉树的概念及性质,二叉树的抽象数据类型

二叉树的周游

二叉树的存储实现

二叉检索树、堆与优先队列、Huffman编码树

★非递归深度优先周游二叉树和穿线二叉树

难度

▃▄▅▆▇

重要性

★★★★★

5

树与森林

4

树的概念,森林与二叉树的等价转换,树的抽象数据类型

树的周游

树的链式存储,树的顺序存储

难度

▃▄▅▆

重要性

★★★★

6

8

图的基本概念,图的抽象数据类型,图的存储结构

图的周游(深度优先、搜索、广度优先、拓扑排序)

最短路径问题,最小支撑树(Prim算法、Kruskal算法)

难度

▃▄▅▆

重要性

★★★★★

7

内排序

8

排序问题的基本概念,三种简单排序算法(插入排序、冒泡排序、选择排序)

Shell排序,快速排序,归并排序,堆排序,基数排序

★各种排序算法的理论和实验时间代价的讨论以及排序问题的下限的研究

难度

▃▄▅▆▇

重要性

★★★★★

8

文件管理和外排序

2

外排序的特点

二路外排序

置换选择排序

难度

▃▄▅▆

重要性

★★★

9

检索

4

检索的基本概念

基于线性表的检索

基于集合的检索

散列方法

难度

▃▄▅▆

重要性

★★★★

10

索引技术

2

倒排索引

B+树等动态索引组织

★红黑树

难度

▃▄▅▆

重要性

★★★

11

高级数据结构

2

   广义表

字符树

★AVL树

★伸展树

难度

▃▄▅▆▇

重要性

★★★

 

二、数据结构与算法A返回顶部

1)课程基本情况

课程编号

04830050

课程名称

数据结构与算法

Data Structure And Algorithm A

开课时间

一年级

二年级

三年级

四年级

适用院系

信息学院全体学生

课程定位

骨干基础课,必修课

学分

3学分

总学时

54学时

先修课程

计算引论,程序设计实习,集合论与图论,

概率统计A

后续课程

数据结构与算法实习,程序设计语言原理

教学方式

以课堂讲授为主,同时借助网络教学平台,拓展课堂讲授的相关知识,便于同学自主学习、巩固课堂所学内容。另外,组织3次以上的独立习题课(6小时),针对学生作业中出现年的典型问题进行深入探讨。

鉴于数据结构与算法是与实践紧密结合的课程,配合理论教学,将加强上机实习的训练,通过合理、有效地设计上机题目,改进作业评核方式,调动学生的积极性,启发引导学生掌握基础理论并能创新应用,增强学生综合运用有关知识的能力。

课时分配

3(课堂教学)+1(教学实验)/

考核方式

平时(书面作业、课堂测试)20%,上机(+报告)15%,期中20%,期末40%,考勤和态度5%

注重综合能力的考评,平时表现突出、上机实践能力较强的可以得到奖励加分。

主要教材

1.   张铭、王腾蛟、赵海燕,《数据结构与算法》,高等教育出版社,20086月。

参考资料

2.   许卓群、杨冬青、唐世渭、张铭,《数据结构与算法》,高等教育出版社,20047月。

3.   张铭、赵海燕、王腾蛟,《数据结构与算法习题指导》,高等教育出版社,20058月。

4.   Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest, Clifford Stein, Inroduction to Algorithms, MIT Press, 2nd edition, 2001. 高等教育出版社影印。

其它信息

 

2)教学目的和要求

 

1. 介绍基本数据结构和基本算法分析技术。这一部分将介绍常用基本数据结构的ADT及其应用,包括线性结构(线性表、串、栈和队列)、二叉树、树、图等;同时基于各种数据结构所实施的运算讨论算法分析的基本技术,掌握时间和空间权衡的原则。 

2. 介绍排序、检索和索引技术。这一部分将主要讨论插入排序、Shell排序、堆排序、快速排序、归并排序、基数排序等常用的各种排序算法及其时间和空间开销,并介绍文件管理(数据在外存中的组织形式)和外排序技术,以及自组织线性表、散列表、倒排文件、B树等常见的检索和索引技术,及其各自相应的时间和空间开销。 

3. 理解编译栈的工作原理,熟习用栈消除递归的算法框架,并解决相关应用问题;初步掌握稀疏矩阵、广义表等高级线性结构技术,了解Trie结构、AVL树等高级树形结构。 

4. 对抽象数据类型有深入的理解,能根据所求解问题的性质选择合理的数据结构,设计并完成处理海量数据的复杂应用系统。 

5. 通过本课程的学习,学生将基本掌握数据结构和算法的设计分析技术,提高程序设计的质量;根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制。

 

 

3)课程特色

 

“数据结构与算法”是一门重要的计算机类骨干基础课程。其主要目的是使学生较全面地理解数据结构的概念、掌握各种数据结构与算法的实现方式,比较不同数据结构和算法的特点。通过学习,使学生能够提高用计算机解决实际问题的能力。

本课程将以问题求解为主线,从问题抽象、数据抽象和算法抽象的角度来组织数据结构与算法的设计,指导学生建立数学模型、使用不同的数据结构不同的算法分别去解决问题,最后去探讨各种数据结构和算法的优缺点,同时让学生学会怎么样根据实际问题来取舍数据结构和算法,并且在时间复杂度和空间复杂度之间进行平衡。

在讲授过程中,将调动学生的积极性,采取研究式的学习方法。有些较基础的内容采用学生综述、答辩、小测验的形式,培养学生的自学能力。引导学生跟踪数据结构与算法的前沿应用技术,引入研读论文并作报告的讨论班形式,培养学生的捕捉新理论、新技术的科研能力。

最后的合作大实习题由教师指导学生自己提出,并组织团队完成。由助教引导讨论,从需求分析、模块设计、编程实践、调试测试各个阶段进行引导,加强学生们综合应用数据结构和算法知识的能力。

课程通过设置的课程网站提供课堂讲义和最新的参考材料。

 

 

4课程内容摘要和知识点

 

章节

课时

内容摘要和知识点

重要性

1

 

数据结构和算法简介

2

数据结构定义(逻辑结构、存储结构、运算)

抽象数据类型

算法及其算法度量和评价(大O表示法及其运算规则)

难度

▃▄▅

重要性

★★★★★

2

线性表、栈和队列

2

线性表(向量、链表)

难度

▃▄▅

重要性

★★★★

3

线性表、栈和队列

6

栈和队列(顺序、链接)、栈的应用

★ 选讲递归到非递归的转换机制和方法

难度

▃▄▅▆

重要性

★★★★

4

字符串

4

字符串抽象数据类型,存储表示和类定义

字符串的运算

字符串的模式匹配

难度

▃▄▅▆▇

重要性

★★★

5

二叉树

10

二叉树的概念及性质,二叉树的抽象数据类型

二叉树的周游

二叉树的存储实现

二叉检索树、堆与优先队列、Huffman编码树

★ 选讲非递归深度优先周游二叉树和穿线二叉树

难度

▃▄▅▆▇

重要性

★★★★★

6

树与森林

4

树的概念,森林与二叉树的等价转换,树的抽象数据类型

树的周游

树的链式存储,树的顺序存储

难度

▃▄▅▆

重要性

★★★★

7

8

图的基本概念,图的抽象数据类型,图的存储结构

图的周游(深度优先、搜索、广度优先、拓扑排序)

最短路径问题,最小支撑树(Prim算法、Kruskal算法)

难度

▃▄▅▆

重要性

★★★★★

8

内排序

8

排序问题的基本概念,三种简单排序算法(插入排序、冒泡排序、选择排序)

Shell排序,快速排序,归并排序,堆排序,基数排序

★ 选讲各种排序算法的理论和实验时间代价的讨论以及排序问题的下限的研究

难度

▃▄▅▆▇

重要性

★★★★★

9

文件管理和外排序

2

外排序的特点

二路外排序

★ 选讲置换选择排序、多路归并选择树

难度

▃▄▅▆

重要性

★★★

10

检索

4

检索的基本概念

基于线性表的检索

基于集合的检索

散列方法

难度

▃▄▅▆

重要性

★★★★

11

索引技术

2

倒排索引

B+树等动态索引组织

★ 选讲红黑树

难度

▃▄▅▆

重要性

★★★

12

高级数据结构

2

广义表

字符树

★ 选讲AVL

★ 选讲伸展树

难度

▃▄▅▆▇

重要性

★★★

三、数据结构与算法B返回顶部

1)课程基本情况

课程编号

 

课程名称

数据结构与算法B

Data Structure And Algorithm B

开课时间

一年级

二年级

三年级

四年级

适用院系

信息学院编程能力不太强的学生

课程定位

骨干基础课,必修课

学分

3学分

总学时

54学时

先修课程

计算引论,程序设计实习

后续课程

数据结构与算法实习,程序设计语言原理

教学方式

以课堂讲授为主,同时借助网络教学平台,拓展课堂讲授的相关知识,便于同学自主学习、巩固课堂所学内容。

考虑到选修B类课程的学生编程能力较弱,会安排助教加强对学生上机实习的辅导。

课时分配

    3(课堂教学)+1(教学实验)/

考核方式

平时(书面作业、课堂测试)20%,上机(+报告)15%,期中20%,期末40%,考勤和态度5%

期中考试、期末考试与学院的《数据结构与算法A》和《数据结构与算法A(实验班)》有60%的基础内容统一出题、统一阅卷,另外40%独立命题。平时作业和上机作业由各班根据专业要求灵活掌握,教员协调给出成绩。

注重综合能力的考评,平时表现突出、上机实践能力较强的可以得到奖励加分。

主要教材

1.      张铭、王腾蛟、赵海燕,《数据结构与算法》,高等教育出版社,20086月。

参考资料

2.      许卓群、杨冬青、唐世渭、张铭,《数据结构与算法》,高等教育出版社,20047月。

3.      张铭、赵海燕、王腾蛟,《数据结构与算法习题指导》,高等教育出版社,20058月。

4.      算法与数据结构,张乃孝主编,高等教育出版社,20061

5.      Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest, Clifford Stein, Inroduction to Algorithms, MIT Press, 2nd edition, 2001. 高等教育出版社影印。

其它信息

 

 

2)教学目的和要求

 

1. 介绍基本数据结构和基本算法分析技术。这一部分将介绍常用基本数据结构的ADT及其应用,包括线性结构(线性表、串、栈和队列)、二叉树、树、图等;同时基于各种数据结构所实施的运算讨论算法分析的基本技术,掌握时间和空间权衡的原则。

2. 介绍排序、检索技术。这一部分将主要讨论插入排序、Shell排序、堆排序、快速排序、归并排序、基数排序等常用的各种排序算法及其时间和空间开销,并介绍二分检索、散列表等常见的检索技术,及其各自相应的时间和空间开销。

3.  通过本课程的学习,学生将基本掌握数据结构和算法的设计分析技术,提高程序设计的质量;根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制。

 

3)课程特色

 

    “数据结构与算法是一门重要的计算机类基础课程。其主要目的是使学生较全面地理解数据结构的概念、掌握各种数据结构与算法的实现方式,比较不同数据结构和算法的特点。

    本课程专门针对编程基础较弱的学生开设,删减了一些较艰深的知识点之外,注重数据结构与算法核心内容的讲解。安排助教加强对学生上机实习的辅导。为将来利用了利用计算机解决相关问题打下一定的基础。

 

4)课程内容摘要和知识点

 

章节

课时

内容摘要和知识点

重要性

 1

数据结构和算法简介

4

数据结构定义(逻辑结构、存储结构、运算)

抽象数据类型

算法及其算法度量和评价(大O表示法及其运算规则)

难度

▃▄▅

重要性

★★★★★

2

线性表、栈和队列

10

线性表(向量、链表)

栈和队列(顺序、链接)、栈的应用

难度

▃▄▅▆

重要性

★★★★

3

字符串

4

字符串抽象数据类型,存储表示和类定义

字符串的运算

字符串的模式匹配

难度

▃▄▅▆▇

重要性

★★★

4

二叉树

10

二叉树的概念及性质,二叉树的抽象数据类型

二叉树的周游

二叉树的存储实现

二叉检索树、堆与优先队列、Huffman编码树

难度

▃▄▅▆▇

重要性

★★★★★

5

树与森林

4

树的概念,森林与二叉树的等价转换,树的抽象数据类型

树的周游

树的链式存储

难度

▃▄▅▆

重要性

★★★★

6

8

图的基本概念,图的抽象数据类型,图的存储结构

图的周游(深度优先、搜索、广度优先、拓扑排序)

最短路径问题,最小支撑树(Prim算法、Kruskal算法)

难度

▃▄▅▆

重要性

★★★★★

7

内排序

8

排序问题的基本概念,三种简单排序算法(插入排序、冒泡排序、选择排序)

Shell排序,快速排序,归并排序,堆排序,基数排序

难度

▃▄▅▆▇

重要性

★★★★★

8

检索

4

检索的基本概念

基于线性表的检索

基于集合的检索

散列方法

难度

▃▄▅▆

重要性

★★★★

四、数据结构与算法实习返回顶部

1)课程基本情况

课程编号

048305170

课程名称

数据结构与算法实习

Practice of Data Structures and Algorithms

开课时间

一年级

二年级

三年级

四年级

适用院系

计算机系和智能系

课程定位

专业必修

学分

2学分

总学时

32+80(理论+上机实习)

先修课程

数据结构与算法A

后续课程

算法分析与设计

教学方式

理论与实践结合

课时分配

理论32学时:教员课堂讲授26小时,学生编程经验交流6小时

学生独立实践80学时: 数据结构与算法实验50小时,综合上机实习30小时

考核方式

平时20%,算法实验20%,综合上机题40%,期末考试 20%

主要教材

1.      张铭、赵海燕、王腾蛟,《数据结构与算法习题指导》,高等教育出版社,20058月。

参考资料

2.      张铭、王腾蛟、赵海燕,《数据结构与算法》,高等教育出版社,20086月。

3.      许卓群、杨冬青、唐世渭、张铭,《数据结构与算法》,高等教育出版社,20047月。

4.      Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest, Clifford Stein, Inroduction to Algorithms, MIT Press, 2nd edition, 2001. 高等教育出版社影印。

5.     M. H. Alsuwaiyel, Algorithms Design Techniques and Analysis, 电子工业出版社影印,20031月。

6.     B. Kernighan & R. Pike , The Practice of Programming, Addison-Wesley,  1999. (中译本:《程序设计实践》,裘宗燕译,机械工业出版社,20008

其它信息

同修课程:数据结构与算法A

 

2)教学目的和要求

 

       配合数据结构与算法理论课程的学习,介绍一些程序风格、设计、测试和排错等软件工程的基本知识和方法;通过一些趣味例题,系统地介绍数据结构与算法理论课程涉及到的穷举法、回溯法、贪心法、分治法、动态规划等算法基本思想;介绍图和问题建模、数据结构与算法的应用和实践。

       培养学生独立地实现常用基本数据结构的ADT以及相应的STL数据结构,解决一些实际问题,独立编写中小型应用程序。灵活应用基本数据结构,并结合排序、检索、文件、索引等技术,合作编写比较综合的大型应用程,提高学生的实际动手能力。通过本课程的学习,为后续的专业基础课和专业课程打下坚实的基础。

 

3)课程特色

 

       把《数据结构与算法实习》作为辅助《数据结构与算法》的计算机系学生必修课,强化了计算机系学生的实践能力训练。实习课内容划分为C/C++基本程序技巧训练、界面排错和测试、基本数据结构训练、基本算法、数学建模训练5 个模块。

       从问题求解的角度,培养学生数据结构理论基础、问题数据和算法抽象、数据结构与算法设计的能力。在培养基本问题求解能力的同时,注重实践能力和工程能力的培养,使得学生遵从软件开发的规范性。以项目驱动,从软件工程的角度对学生系统地进行需求分析、数学建模、数据结构与算法设计、程序实现测试调试、文档编写训练。不仅要求进行简单的实现,更要求进行工程实现的设计。学生不仅仅能完成自己承担的开发任务,还能从系统级认识整个项目,积累重大项目的组合、合作协调经验,培养项目组织和管理能力,创造性地解决工程中遇到的问题。

       通过典型案例教学,引导学生深入思考,激发创新思想火花,充分调动学生学习的主动性,实现教与学的互动。学生从案例中进行研究型学习,并在研究性学习过程中主动运用所学知识来分析问题、解决问题,根据问题的需求来主动获取新知识,从而强化创新意识和创新能力,相应地提高理论联系实际能力、实践动手能力和科研能力。

 

4课程内容摘要和知识点

 

章节

课时

内容摘要和知识点

重要性

1

简介

2

数据结构与算法实习简介

C/C++基本程序技巧

界面排错和测试

问题空间和典型的算法思想

数学建模基本思想

难度

▃▄▅

重要性

★★★★★

2

程序设计风格

2

程序的良好风格

程序设计和实现技巧

难度

▃▄▅

重要性

★★★★

3

面向对象技术

2

面向对象技术

STL的基本概念和常用容器

难度

▃▄▅

重要性

★★★

4

界面技术

2

人机界面基本原则

排错的技巧

难度

▃▄▅▆

重要性

★★★★

5

测试

2

测试

性能

可扩展性

难度

▃▄▅▆

重要性

★★★★

6

项目管理

2

项目需求分析

项目开发计划

软件项目的实施(控制)

难度

▃▄▅

重要性

★★★

7

基本算法与枚举法

2

问题状态空间的建立

枚举的思想

例题:百钱百鸡、猴子分桃、宴会彩灯、质数方阵

难度

▃▄▅▆

重要性

★★★★

8

回溯法

2

递归思想强化

搜索解空间的思想

DFS和BFS搜索策略,分枝限定思想

例题:八皇后,0-1背包,火车进出栈

难度

▃▄▅▆▇

重要性

★★★★★

9

贪心法

2

最优子结构分解

最优解的正确性证明

例题:活动安排、可分割背包、区间覆盖

难度

▃▄▅

重要性

★★★★

10

分治法

2

--合的分治法原理思想

算法复杂性问题

例题:统计逆序对、导线与开关、二进制大整数乘法

难度

▃▄▅▆

重要性

★★★★★

11

动态规划

2

最优子结构和重复子问题,备忘录方法

各种算法的比较

例题:最优二叉搜索树、最长子序列、邮局问题、最大全1正方形

难度

▃▄▅▆▇

重要性

★★★★★

12

问题建模

2

问题建模专题讨论

数学模型

难度

▃▄▅▆

重要性

★★★★

13

图的应用

2

图模型的建立

图的有效搜索

回溯高级技巧

难度

▃▄▅▆▇

重要性

★★★★

14

数据结构综合应用

2

搜索引擎和数据库等应用系统中的线性表、字符串、图等基本数据结构

散列、索引和排序技术的应用

难度

▃▄▅▆▇

重要性

★★★★

15

习题讨论

4

对课程综合习题进行交流讨论,习题讲评

难度

▃▄▅▆▇

重要性

★★★★★