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
商业数据结构与算法 Business Data Structures and Algorithms
2.
授课院系
Originating Department
信息系统与管理工程 Division of Information Systems & Management Engineering
3.
课程编号
Course Code
MIS206
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
专业基础课 Major Foundational Courses
6.
授课学期
Semester
春季 Spring
7.
授课语言
Teaching Language
英语 English
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list
all instructors
顾理一
信息系统与管理科学
guly@sustech.edu.cn
9.
验员/、所、联
方式
Tutor/TA(s), Contact
待公布 To be announced
10.
选课人数限额(可不)
Maximum Enrolment
Optional
2
11.
授课方式
Delivery Method
讲授
Lectures
实验/
Lab/Practical
其它(具体注明)
OtherPlease specify
总学时
Total
学时数
Credit Hours
32
32
64
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
CS102A 计算机程序设计基础 A Introduction to Computer Programming A
13.
后续课程、其它学习规划
Courses for which this course
is a pre-requisite
None
14.
其它要求修读本课程的学系
Cross-listing Dept.
None
教学大纲及教学日历 SYLLABUS
15.
教学目标 Course Objectives
The objective of this course is to introduces the fundamental concepts of data structures in business and the algorithms
that proceed from them. Although this course has a greater focus on theory than application, the assignments,
examples, and cases introduced throughout the course help to bridge the gap between theoretical concepts and real-
world problem solving. We will enhance the understanding of the operations and functions of the data structures and
algorithms explored throughout the course by visualizing examples of data structures and algorithms. Key topics within
this course include recursion, fundamental data structures (including stacks, queues, linked lists, trees, and graphs), and
the basics of algorithmic analysis.
本课程目的是介绍商业数据结构的基本概念以及由此产生的算法。尽管本课程比应用程序更注重理论,但贯穿本课程介绍
的作业,示例和案例有助于弥合理论概念与实际问题解决之间的差距。我们将通过直观地动画化数据结构和算法的示例,
从而加深我们对整个课程中探索的数据结构和算法的操作和功能的理解。本课程中的要点包括递归、基本数据结构(包括
堆栈、队列、链表、树、图等),以及算法分析的基础。
16.
预达学习成果 Learning Outcomes
By the end of this course students will be able to:
Implement basic data structures and algorithms using the one programming language.
Select the appropriate data structure or algorithm to solve a problem.
Apply methods of performance evaluation including asymptotic analysis, to assess data structures and associated
algorithms.
Develop an understanding of standard data structures, including lists, stacks, queues, binary search trees, and be able
to articulate the characteristics and operations of each.
在本课程结束时,学生将能够:
使用一门编程语言实现基本的数据结构和算法。
选择适当的数据结构或算法来解决问题。
应用性能评估方法(包括渐进分析)来评估数据结构和相关算法。
加深对标准数据结构的理解,包括列表,堆栈,队列,二进制搜索树和哈希表,并能够阐明每个结构的特征和操作。
3
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.)
理论课(32 学时)实验课(32 学时)
Week 1.(理论 2 学时) 课程介绍,所需数学基础 Course introduction, preliminary math review
Lab 1. (实验 2 学时) 实验课介绍,编程语言回顾 Introduction to lab, programming language review
Week 2. (理论
2
学时) 算法分析 Algorithm analysis
Lab 2. (实验 2 学时) 算法分析实验课 Lab tutorial for algorithm analysis
Week 3. (理论
2
学时)列表和链表 List and linked list
Lab 3. (实验
2
学时)列表和链表实验课 Lab tutorial for list and linked list
Week 4. (理论
2
学时)堆栈和队列 Stack and queue
Lab 4. (实验
2
学时) 堆栈和队列实验课 Lab tutorial for stack and queue
Week 5. (理论 2 学时) 字符串及其运算 String and string operations
Lab 5. (实验 2 学时)字符串及其运算实验课 Lab tutorial for string and string operations
Week 6. (理论
2
学时)树 Tree
Lab 6. (实验 2 学时) 树实验课 Lab tutorial for tree
Week 7. (理论
2
学时) 二叉树,优先队列,堆 Binary tree, priority queue, heap
Lab 7. (实验 2 学时)二叉树,优先队列,堆实验课 Lab tutorial for binary tree, priority queue, heap
Week 8. (理论 2 学时) 二叉搜索树 Binary search tree
Lab 8
.
(实验
2
学时) 二叉搜索树实验课 Lab tutorial for binary search tree
Week 9. (理论 2 学时)期中考试 Midterm exam
Lab 9. (实验 2 学时) 期中考试答案讨论 Midterm exam solution
4
Week 10. (理论 2 学时)排序算法:插入排序,冒泡排序,选择排序 Sorting: insertion sort, bubble sort, selection sort
Lab 10. (实验 2 学时)插入排序,冒泡排序,选择排序实验课 Lab tutorial for insertion sort, bubble sort, selection sort
Week 11. (理论
2
学时)排序算法:希尔排序,归并排序,快速排序 Sorting: shellsort, mergesort, quicksort
Lab 11. (实验 2 学时)希尔排序,归并排序,快速排序实验课 Lab tutorial for shellsort, mergesort, quicksort
Week 12. (理论
2
学时) 搜索算法和散列函数 Searching and hashing
Lab 12. (实验 2 学时) 搜索算法和散列函数实验课 Lab tutorial for searching and hashing
Week 13. (理论 2 学时) Graph
Lab 13. (实验
2
学时) 图实验课 Lab tutorial for graph
Week 14. (理论 2 学时)广度优先搜索和深度优先搜索 Breadth first search and depth first search
Lab 14. (实验 2 学时)广度优先搜索和深度优先搜索实验课 Lab tutorial for breadth first search and depth first search
Week 15.(理论 2 学时) 最短路径问题和最小生成树 Shortest path and minimum spanning tree
Lab 15. (实验 2 学时)最短路径问题和最小生成树实验课 Lab tutorial for shortest path and minimum spanning tree
Week 16.
2
加内分量 Additional contents: network flow problem, clique,
strongly connected component
Lab 16. 2 Lab tutorial for network flow problem, clique, strongly
connected component
18.
教材及其它参考资料 Textbook and Supplementary Readings
A Practical Introduction to Data Structures and Algorithms Analysis, Edition 3.2, By Clifford A. Shaffer
Data Structures and Algorithms: Annotated Reference with Examples