Data Structures and Algorithms (2019) Class Website

 

Data Structures and Algorithms (2019)

基本信息 (General Information)

Level: Undergraduate
Time & Place: 4:00 pm--5:40 pm, Monday (even week only), Wednesday & Friday, Dong Xia Yuan 305 (东下院305)
Instructor:
  • Name: Xiaofeng Gao
  • Email: gao-xf(at)cs.sjtu.edu.cn
  • Office: Telecom Building 3-543
  • Phone: 021-34207407
Teaching Assistant:
  • Name: Li Ma (马丽)
  • Email: mali-cs@sjtu.edu.cn
  • Office: Longbin Building 326G
  • Phone: 18234034739
  • Office Hour: Monday 19:00-20:00 & Wednesday 20:00-21:00
  • Name: Shuxiang Xie (谢舒翔)
  • Email: vidarx@sjtu.edu.cn
  • Office: Longbin Building 326G
  • Phone: 13812589090
  • Office Hour: Monday 19:00-20:00 & Wednesday 20:00-21:00
  • Name: Qingmin Liu (刘庆民)
  • Email: qingmin_liu@163.com
  • Office: Longbin Building 326G
  • Phone: 18217589968
  • Office Hour: Monday 19:00-20:00 & Wednesday 20:00-21:00
Back to Top     

课堂时间 (Course Schedule)

Back to Top

计划日程 (Syllabus)

Week

Date

Lecture Topic

Event

TA

1

Sep.11

Course Introduction

Syllabus; Course Organization; Asymptotic Algorithm Analysis

Lab-01

Liu

1

Sep.13

National Holiday (No Class)

2

Sep.16

Algorithm Analysis

Big-Oh Notation, Big-Omega Notation, Big-Theta Notation and Their Variations

Xie

2

Sep.18

Sorting and Searching

Analyzing Program; Basic Sorting; Merge Sort

Liu

2

Sep.20

Sorting and Searching

Quick Sort; Comparison Sort Summary

Lab-02

Xie

3

Sep.25

Sorting and Searching

Analysis and Summary on Search and Sort; Stack Usage: Web Browser, Parentheses Matching, Hanoi Tower; Non-Comparison Sort

Ma

3

Sep.27

Selection

Linear-Time Selection: Randomized Selection Algorithm

Liu

4

Sep.30

Selection

Linear-Time Selection: Deterministic Selection Algorithm; Hashing

Lab-03

Liu

4

Oct.2

National Holiday (No Class)

4

Oct.4

National Holiday (No Class)

5

Oct.9

Hashing

Hashing Basics; Collision and Collision Resolution: including Separate Chaining and Linear Probing; Hashing Functions

Lab-04

Ma

5

Oct.11

Hashing

Collision Resolution: including Seperate Chaining and Open Addressing; Amortized Analysis

Liu

6

Oct.14

Hashing

Dynamic Tables: including TableInsert and TableDelete

Ma

6

Oct.16

Hashing

Bloom Filters; Midterm Review

Liu

6

Oct.18

Midterm

7

Oct.23

Heaps

Midterm Questions; Binary Trees; Binary Tree Traversal

Liu

7

Oct.25

Heaps

Priority Queues; Heaps

Xie

8

Oct.28

Heaps

Min Heaps; Binary Heaps

Lab-05

Xie

8

Oct.30

Heaps

Binomial Heaps

Ma

9

Nov.6

Heaps

Fibonacci Heaps

Ma

9

Nov.8

Binary Search Tree

Binary Search Tree: Other Useful Operations

Lab-06

Liu

10

Nov.11

Binary Search Tree

Binary Search Tree: Other Useful Operations

Xie

10

Nov.13

Trees

Red-Black Trees; K-D Trees; AVL Trees

Liu

10

Nov.15

Graph Exploration

Graph Representation; Graph Search; Topological Sorting

Lab-07

Xie

11

Nov.18

Graph Exploration

Breath-First Search, Depth-First Search

Ma

11

Nov.20

Minimum Spanning Trees

Kruskal Algorithm; Prim Algorithm; Circle Deletion Algorithm

Liu

11

Nov.22

Shortest Path

Dijkstra Algorithm; Bellman-Ford Algorithm

Lab-08

Xie

12

Nov.25

Shortest Path

All-Pair Shortest Paths

Xie

12

Nov.27

Greedy Strategy

Interval Schedule; Minimum Lateness; Coin-Charging

Ma

12

Nov.29

Greedy Strategy and Dynamic Programming

Weighted Interval Scheduling, Segmented Least Squares,

Xie

13

Dec.4

Dynamic Programming

Knapsack, RNA Secondary Structure

Ma

13

Dec.6

Final Exam

Back to Top

作业与课后阅读 (Assignments and Readings)

Lecture 1: Data Structures and Algorithms

Lecture 2: Algorithm Analysis

      • Slide02P23: How fast would you advertise it as? Answer: B

      • Slide2P36: What Is the Time Complexity of the Following Code? Answer: C

      • Voting for RC & OH schedule

Lecture 3: Sorting and Searching

Lecture 4: Linear Time Selection

Lecture 5: Hashing

Lecture 6: Heap

Lecture 7 : Binary Search Tree

Lecture 8 : Trees

Lecture 9 : Graphs

Lecture 10 : Algorithm

Back to Top

提交引导 (Submission Guidelines)

  • 请登录右上角的JAccount进行作业提交,登录后可以下载课件、提交作业。
    Please log in by JAccountat the top right corner to download course materials and submit your homework.
  • 作业只能提交一个文档,如果有多个文档请放在一个文件夹里,将其压缩成.rar.zip文件。作业可以多次提交,每次上传版本会覆盖原来版本。可通过点击右上方“Check Hw.”一栏查看作业提交、成绩与反馈情况(建议下载检查上传版本)。
    You can only submit ONE document for each homework. If there are multiple documents, please put them inside a folder, and compress it in the form of .rar or .zip You can submit homework multiple times, while the original submitted version will be covered by the latest submitted one. You can click on “Check Hw.”at the top right corner to check the homework submission, grade, and feedback.(Suggestion: You can download your submitted homework to check it.)
  • 若已登录的情况下提示权限不足,请刷新或者注销后重新登录,若仍权限不足,请及时与助教联系。如出现无法提交、不懂操作、系统Bug等情况请与助教及时联系。
    If it shows that you do not have access after you log in, please refresh the webpage or re-log in again. If it still does not work, please contact teaching assistants in time. If you have other problems, e.g., you cannot or don’t know how to submit your homework, or find Bugs please contact your teaching assistants in time.
Back to Top

学生名册与课堂记录 (Roster and Event)

Back to Top

光荣榜 (Honor Roll)

序号
(Number)
姓名
(Name)
加分时间
(Time)
加分原因
(Reason)
加分人
(Recorder)
1 陈建旭 Frederic Chen 2019-9-11 Answer questions about linear search in class Liu
2 傅天驰 Tianchi Fu 2019-9-17 Best Lab0-SelfIntroduction Xie
3 蔡天章 Tianzhang Cai 2019-9-17 Best Lab0-SelfIntroduction Xie
4 唐心怡 Xinyi Tang 2019-9-17 Best Lab0-SelfIntroduction Xie
5 史历 Li Shi 2019-9-25 Write Hanoi Tower example on blackboard in class Ma
6 沈婷 Ting Shen 2019-10-12 Best Lab01-Preliminary Liu
7 陈雅昕 Yaxin Chen 2019-10-12 Best Lab01-Preliminary Liu
8 林浩 Hao Lin 2019-10-12 Best Lab01-Preliminary Liu
9 冯凯 Kai Feng 2019-10-12 Best Lab02-Sorting and Searching Ma
10 袁意超 Yichao Yuan 2019-10-12 Best Lab02-Sorting and Searching Ma
11 范逸青 Yiqing Fan 2019-10-12 Best Lab02-Sorting and Searching Ma
12 钟晓雪 Xiaoxue Zhong 2019-10-12 Best Lab02-Sorting and Searching Ma
13 范逸青 Yiqing Fan 2019-10-13 Point out a key mistake of Lab02 Ma
14 蔡天章 Tianzhang Cai 2019-10-23 Write Table Deletion on blackboard in class Ma
15 方靖哲 Jingzhe Fang 2019-10-26 Best Lab03-Sorting and Selection Xie
16 陈雅昕 Yaxin Chen 2019-10-26 Best Lab03-Sorting and Selection Xie
17 韩丽颖 Liying Han 2019-10-26 Best Lab03-Sorting and Selection Xie
18 吴争 Zheng Wu 2019-10-26 Best Lab04-Hashing Liu
19 刘雅婷 Yating Liu 2019-10-26 Best Lab04-Hashing Liu
20 杨煦庭 Xuting Yang 2019-10-26 Best Lab04-Hashing Liu
21 杨雨澳 Yu'ao Yang 2019-10-31 Write Binoimal Heap on blackboard in class Ma
22 史历 Li Shi 2019-11-13 Write the algorithm of findMinOfkdTree Ma
23 张立勤 Liqin Zhang 2019-12-16 Best Lab05-Priority Queues and Application Xie
24 史历 LiShi 2019-12-16 Best Lab05-Priority Queues and Application Xie
25 赵志劼 Zhijie Zhao 2019-12-16 Best Lab05-Priority Queues and Application Xie
26 时尖 Jian Shi 2019-12-16 Best Lab06-Heaps and BST Ma
27 童新雨 Xinyu Tong 2019-12-16 Best Lab06-Heaps and BST Ma
28 周源锴 Yuankai Zhou 2019-12-16 Best Lab06-Heaps and BST Ma
29 陶晨韵 Chenyun Tao 2019-12-16 Best Lab07-Trees Liu
30 皇甫锦 Jin HuangFu 2019-12-16 Best Lab07-Trees Liu
31 孙琪 Qi Sun 2019-12-16 Best Lab07-Trees Liu
32 明星宇 Xingyu Ming 2019-12-16 Best Lab08-Graphs Ma
33 钱逸凡 Yifan Qian 2019-12-16 Best Lab08-Graphs Ma
34 郝知雨 Zhiyu Hao 2019-12-16 Best Lab08-Graphs Ma
Back to Top

引用材料 (Reference)

  • Textbooks
    • Data Structures and Algorithm Analysis, by Clifford Shaffer. Online available: http://people.cs.vt.edu/~shaffer/Book/C++3e20120605.pdf
    • Data Structures and Algorithms with Object-Oriented Design Patterns in C++, by Bruno Preiss.
    • Introduction to Algorithms, 3rd edition, by Thomas Cormen, Charles Leiserson, Ronald Rivest, and Clifford Stein, MIT Press, 2009.
  • Algorithm
    • M. H. Alsuwaiyel, Algorithm Design Technique and Analysis, World Scientific, 1999.
    • Alfred V. Aho, John E Hopcroft, Jeffery D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974.
    • Udi Manber, Introduction to Algorithms: A Creative Approach, Addison-Wesley, 1989.
Back to Top