1
课程详述
COURSE SPECIFICATION
以下课程信息可能根据实际授课需要或在课程检讨之后产生变动。如对课程有任何疑问,请联
系授课教师。
The course information as follows may be subject to change, either during the session because of unforeseen
circumstances, or following review of the course at the end of the session. Queries about the course should be
directed to the course instructor.
1.
课程名称 Course Title
数据结构与算法分析 B Data Structures and Algorithm Analysis B
2.
授课院系
Originating Department
计算机科学与工程系 Department of Computer Science and Engineering
3.
课程编号
Course Code
CS203B
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
专业基础课 Major Foundational Courses
6.
授课学期
Semester
秋季 Fall
7.
授课语言
Teaching Language
英文 English
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list
all instructors
骆宗伟,副教授,计算机科学与工程系, luozw@sustech.edu.cn
Zongwei Luo, Associate Professor, Department of Computer Science and Engineering,
luozw@sustech.edu.cn
9.
/
方式
Tutor/TA(s), Contact
胡春风,教学实验师,计算机科学与工程系,hucf@sustech.edu.cn
Chunfeng Hu, Teaching laboratory technician, Department of Computer Science and
Engineering, hucf@sustech.edu.cn
10.
选课人数限额(不填)
Maximum Enrolment
Optional
授课方式
Delivery Method
习题/辅导/讨论
Tutorials
实验/实习
Lab/Practical
其它(请具体注明)
OtherPlease specify
总学时
Total
11.
学时数
Credit Hours
32
64
2
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
CS102A 计算机程序设计基础 A Introduction to Computer Programming A
13.
后续课程、其它学习规划
Courses for which this course
is a pre-requisite
14.
其它要求修读本课程的学系
Cross-listing Dept.
教学大纲及教学日历 SYLLABUS
15.
教学目标 Course Objectives
我们基础构和析方程包,链列,有序索,
列,二叉搜索树和基础图理论。此外,算法分析(例如:时间复杂度,空间复杂度)方法也会在课程中提及。这些知识也
会在将来的学习中帮助到非计算机系学生。
In this course, we will study the fundamental data structures, and basic algorithms analysis methods. Topics to be
covered include array, linked list, queue, stack, searching in ordered lists, sorting, priority queues, binary search trees,
and fundamental graph algorithms. In addition, the algorithm analysis (i.e., time complexity, space complexity) methods
also will be introduced in this course. Such knowledge will help non-computer science students in their future study.
16.
预达学习成果 Learning Outcomes
在学习本课程后,学生需要学会以下知识和技能:
After completing this course, students will have acquired the following knowledge and skills:
1. 学生需要熟悉基础数据结构
2. 学生需要熟悉基础算法分析方法
3. 学生能够选择合适的数据结构去解决简单的计算问题。
4. 学生能够应用合适的数据结构和算法分析方法来设计简单的算法,并分析算法的表现。
1. Students will be familiar with the fundamentals of data structures. .
2. Students will be familiar with basic algorithms analysis methods.
3. Students will be able to select appropriate data structures for solving simple computing problems.
4. Students will be able to design simple algorithms with appropriate data structures and analyse their performance.
17.
课程内容及教学日历 (如授课语言以英文为主,则课程内容介绍可以用英文;如团队教学或模块教学,教学日历须注明
主讲人)
Course Contents (in Parts/Chapters/Sections/Weeks. Please notify name of instructor for course section(s), if
this is a team teaching or module course.)
3
第一周:导论
数据结构和算法分析介绍
[Lab 1]家庭作业和 介绍
第二周:算法分析基础
算法分析的基础数学工具
[Lab 2]算法分析的作业和实验
第三周:表
表的定义,表示方法和运算
[Lab 3] 表的结构和运算的作业和实验
第四周:栈
栈的定义,表示方法和运算
[Lab 4] 栈的结构和运算的作业和实验
第五周:队列
队列的定义,表示方法和运算
[Lab 5] 队列的结构和运算的作业和实验
第六周:字符串(1
字符串的定义,逻辑和存储结构
[Lab 6] 字符串结构的作业和实验
第七周:字符串(2
字符串的运算和匹配算法
[Lab 7] 字符串匹配作业和实验
第八周:期中测试
[Lab 8]工程作业
第九周:树
树的定义表示方法以及不同的表示方法
[Lab 9] 数结构和表示的作业和实验
4
第十周:二叉树
二叉树的定义,运算和遍历
[Lab 10] 二叉树结构运算和遍历的作业和实验
第十一周:优先队列
优先队列的定义,表示和运算
[Lab 11] 优先队列的结构和运算的作业和实验
第十二周:图(1
图的定义和表示
[Lab 12] 图的结构的作业和实验
第十三周:图(2
图的最短路径算法
[Lab 13] 图的最短路径算法作业和实验
第十四周:图(3)网络流问题
网络流问题
[Lab 14] 网络流问题的作业和实验
第十五周:排序
插入排序,希尔排序
[Lab 15] 插入排序和希尔排序的作业
第十六周:排序
快速排序,桶排序
[Lab 16] 快速排序和桶排序作业和实验
Week 1. Introduction
o Introduction to data structure and algorithm analysis
[Lab 1] Introduction to Homework and lab
Week 2. Basics of algorithms analysis
o Basic mathematics tools for algorithms analysis
[Lab 2] Homework and lab for algorithm analysis
Week 3. Lists
5
o List definition, representation and operations
[Lab 3] Homework and lab for list construction and operations
Week 4. Stack
o Stack definition, representation and operations
[Lab 4] Homework and lab for stack construction and operations
Week 5. Queue
o Queue definition, representation and operations
[Lab 5] Homework and lab for queue construction and operations
Week 6. String (1)
o String definition, logical and storage structure
[Lab 6] Homework and lab for string construction
Week 7. String (2)
o String operations and matching algorithms
[Lab 7] Homework and lab for string matching
Week 8. Mid-term test
o Test
[Lab 8] Project assignment
Week 9. Tree
o Tree definition, representation and mapping from different representations
[Lab 9] Homework and lab for tree construction and operations
Week 10. Binary tree
o Binary tree definition, operations and traversal
[Lab 10] Homework and lab for binary tree construction, operations and traversa
Week 11. Priority queue
o Priority queue definition, representation and operations
[Lab 11] Homework and lab for priority queue construction and operations
Week 12. Graph algorithms (1)
o Graph definition and representation
[Lab 12] Homework and lab for graph construction
Week 13. Graph algorithms (2)
o Graph shortest path algorithms
[Lab 13] Homework and lab for shortest path
Week 14. Graph algorithms (3)
o Network flow problems
6
[Lab 14] Homework and lab for network flow problems
Week 15. Sorting
o Insertion sort, shell shorting
[Lab 15] Homework and lab for implementation insertion/shell sorting
Week 16. Sorting
o Quick sort, basket sort
[Lab 16] Homework and lab for implementing quick/basket sorting
18.
教材及其它参考资料 Textbook and Supplementary Readings
1. Data structures and algorithm analysis in Java, Mark Allen Weiss, 3rd edition,
2. Master algorithms with C, Kyle Loudon, O’Reilly
课程评估 ASSESSMENT
19.
评估形式
Type of
Assessment
评估时间
Time
占考试总成绩百分比
% of final
score
违纪处罚
Penalty
备注
Notes
出勤 Attendance
10%
课堂表现
Class
Performance
小测验
Quiz
10%
课程项目 Projects
20%
平时作业
Assignments
期中考试
Mid-Term Test
30%
期末考试
Final Exam
30%
期末报告
FinalPresentation
其它(可根据需
7
改写以上评估方
式)
Others (The
above may be
modified as
necessary)
20.
记分方式 GRADING SYSTEM
A. 十三级等级制 Letter Grading
B. 二级记分制(通/不通过) Pass/Fail Grading
课程审批 REVIEW AND APPROVAL
21.
本课程设置已经过以下责任人/员会审议通过
This Course has been approved by the following person or committee of authority