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
|
|
|
Reading Materials
Syllabus & Grading Policy: Syllabus-DataStructures.pdf
Slide: Slide01-Introduction.pdf (Print Version: 01-Introduction.pdf)
Reference:
* Reference01-Introduction.pdf Chapter 1 of "Data Structures and Algorithm Analysis" by Clifford A Shaffer, Dover Publications, 2012;
* Reference02-Preliminary.pdf Chapter 2 of "Data Structures and Algorithm Analysis" by Clifford A Shaffer, Dover Publications, 2012.
Latex Tutorial
Latex Example: LatexExample.pdf
Latex Example Source: LatexExample.tex
Figure Source: Fig-GraphG1.pdf, Fig-GraphG2.pdf
Latex Helper (English) LatexHelper(ENG).pdf (Chinese Version: LatexHelper(CHI).pdf)
Algorithm Package Helper: AlgorithmPackage.pdf
Latex Tutorial: LaTeXTutorial.pdf
Lab 0: Self-Introduction (Due: 16:00pm, 09/18/2019)
Lab00-SelfIntroduction: Lab00-SelfIntroduction.pdf
Lab 1: Preliminary (Due: 16:00pm, 09/20/2019)
Lab01-Preliminary: Lab01-Preliminary.pdf (Updated on 9/15)
LaTeX Source of Lab01: Lab01-Preliminary.tex (Updated on 9/15)
Reading: Introduction on C++ Vector.pdf
Submission Requirements: SubmissionRequirements.pdf
Best Lab Works Bonus Policy: BonusPolicy.pdf
Lab01 Solution: Lab01-Solution.pdf
Best Labs: Lab01-YaxinChen.pdf, Lab01-TingShen.pdf, Lab01-HaoLin.pdf
Reading Materials
Slide: Slide02-AlgorithmAnalysis.pdf (Print Version: 02-AlgorithmAnalysis.pdf)
Reference:
* Reference03-AlgorithmAnalysis.pdf -- Chapter 3 of "Data Structures and Algorithm Analysis" by Clifford A Shaffer, Dover Publications, 2012.
* Reference04-Complexity.pdf -- Chapter 1 of "Algorithm Design Technique and Analysis" by M. H. Alsuwaiyel, World Scientific, 1999.
Recitation Class (Tuesday 18:30pm, 9/17/2019, Room: 113F, TA: Shuxiang Xie)
Slide: RC01-Preliminary.pdf
Tutorial on Latex (How to compile your Lab source)
Tutorial on Vector C++
Tutorial on Mathematical Derivations
URGENT: please vote for the remaining recitation class schedule (Due: 10:00am, 9/17/2019)
Link: https://umjicanvas.com/courses/1271/quizzes
In-Class Vote Results
Reading Materials
Slide: Slide03-ComparisonSort.pdf (Print Version: 03-ComparisonSort.pdf)
Slide: Slide04-NonComparisonSort.pdf (Print Version: 04-NonComparisonSort.pdf)
Reference:
* Reference05-Sorting.pdf -- Chapter 7 of "Data Structures and Algorithm Analysis" by Clifford A Shaffer, Dover Publications, 2012.
* Reference06-SearchSortComparison.pdf -- Pseudo Codes and Analysis of 7 Searching and Sorting Algorithms (Written by TA Shuxiang Xie).
* Reference07-StackUsage.pdf -- Two Examples for Stack Usage: Hanoi Tower and Parentheses Matching (Written by TA Shuxiang Xie).
Recitation Class (Tuesday 18:30pm, 9/24/2019, Room: 113F, TA: Qingmin Liu)
Slide: RC02-SortingAndSearching.pdf
Tutorial on Sorting and Searching Algorithms (Searching: Linear Search, Binary Search; Sorting: Selection Sort, Bubble Sort, Insection Sort, Merge Sort, Quick Sort)
Tutorial on Complexity Analysis (Multiple Examples on Best Case Analysis, Worst Case Analysis, and Average Case Analysis)
Lab 2: Sorting and Searching (Due: 16:00pm, 09/30/2019)
Lab02-Soring and Searching: Lab02-SortingAndSearching.pdf
LaTex Source of Lab02: Lab02-SortingAndSearching.tex
Lab02 Solution: Lab02-Solution.pdf
Best Labs: Lab02-KaiFeng.pdf, Lab02-XiaoxueZhong.pdf, Lab02-YichaoYuan.pdf, Lab02-YiqingFan.pdf
In-Class Vote Results
Reading Materials
Slide: Slide05-LinearTimeSelection.pdf (Print Version: 05-LinearTimeSelection.pdf)
Reference:
* Reference08-LinearTimeSelection.pdf -- Lecture 4 of "CMU 15-451 (Algorithms), Fall 2011" by Avrim Blum, Manuel Blum, 2011.
* Reference09-MathematicalInduction.pdf -- Chapter 2.1 of "Introduction to Languages and the Theory of Computation" by John Martin, McGraw-Hill, 2002.
Recitation Class (Tuesday 18:30pm, 10/08/2019, Room: 113F, TA: Qingmin Liu)
Analysis on Linear-Time Selection Algorithms (Randomized Version and Determinstic Version)
Tutorial on Stack (Perenthesis Matching, Hanoi Tower, More Examples)
Tutorial on Non-Comparison Sort
Lab 3: Sorting and Searching (Due: 16:00pm, 10/11/2019)
Lab03-Soring and Selection: Lab03-SortingAndSelection.pdf
LaTex Source of Lab03: Lab03-SortingAndSelection.tex
Submission Guidelines: JOJInstructions.pdf
Best Labs: Lab03-JingzheFang.pdf, Lab03-YaxinChen.pdf, Lab03-LiyingHan.pdf
In-Class Vote Results
Reading Materials
Slide: Slide06-HashBasics.pdf (Print Version: 06-HashBasics.pdf)
Slide: Slide07-HashFunction.pdf (Print Version: 07-HashFunction.pdf)
Slide: Slide08-Rehashing.pdf (Print Version: 08-Rehashing.pdf)
Slide: Slide09-AmortizedAnalysis.pdf (Print Version: 09-AmortizedAnalysis.pdf)
Slide: Slide10-BloomFilter.pdf (Print Version: 10-BloomFilter.pdf)
Reference:
* Reference10-Hashing.pdf -- Chapter 9.4 of "Data Structures and Algorithm Analysis" by Clifford A Shaffer, Dover Publications, 2012.
* Reference11-AmortizedAnalysis.pdf -- Chapter 17 in "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition)
* Reference12-U(L) and S(L).pdf [Optional] -- Chapter 6.4 in "The Art of Computer Programming (TAOCP)", Volume 3, Donald Knuth, Addison-Wesley, 1968.
Recitation Class (Wednesday 20:00pm, 10/16/2019, Room: 113F, All TAs)
Midterm Review: Algorithm Analysis, Sorting and Searching, Hashing
Tutorials on Labs: from Lab01 to Lab04
Lab 4: Hashing (Due: 16:00pm, 10/16/2019)
Lab04-Hashing: Lab04-Hashing.pdf
LaTex Source of Lab04: Lab04-Hashing.tex
Lab04 Solution: Lab04-Solution.pdf
Best Labs: Lab04-ZhengWu.pdf, Lab04-YatingLiu.pdf, Lab04-XutingYang.pdf
In-Class Vote Results
Reading Materials
Slide: Slide11-Trees.pdf (Print Version: 11-Trees.pdf)
Slide: Slide12-BinaryTreeTraversal.pdf (Print Version: 12-BinaryTreeTraversal.pdf)
Slide: Slide13-PriorityQueues.pdf (Print Version: 13-PriorityQueues.pdf)
Slide: Slide14-BinomialHeaps.pdf (Print Version: 14-BinomialHeaps.pdf)
Slide: Slide15-FibonacciHeaps.pdf (Print Version: 15-FibonacciHeaps.pdf)
Lab 5: Priority Queues and Application (Due: 16:00pm, 11/11/2019)
Lab05-Priority Queues and Application: Lab05-PriorityQueuesAndApplication.pdf
Lab05-RelatedFiles: Lab05-RelatedFiles.zip
Best Labs: Lab05-LiqinZhang.pdf, Lab05-LiShi.pdf, Lab05-ZhijieZhao.pdf
Reading Materials
Slide: Slide16-BinarySearchTree.pdf (Print Version: 16-BinarySearchTree.pdf)
Slide: Slide17-BSTTimeComplexity.pdf (Print Version: 17-BSTTimeComplexity.pdf)
Slide: Slide18-BSTAdditionalOperations.pdf (Print Version: 18-BSTAdditionalOperations.pdf)
Lab 6 : Heaps and BST (Due: 16:00pm, 11/18/2019)
Lab06-HeapsAndBST: Lab06-HeapsAndBST.pdf
LaTex Source of Lab06: Lab06-HeapsAndBST.tex
Lab06 Solution: Lab06-Solution.pdf
Best Labs: Lab06-JianShi.pdf, Lab06-XinyuTong.pdf, Lab06-YuankaiZhou.pdf
In-Class
Reading Materials
Slide: Slide19-kd-Trees.pdf (Print Version: 19-kd-Trees.pdf)
Slide: Slide20-Tries.pdf (Print Version: 20-Tries.pdf)
Slide: Slide21-AVLTrees.pdf (Print Version: 21-AVLTrees.pdf)
Slide: Slide22-RedBlackTrees.pdf (Print Version: 22-RedBlackTrees.pdf)
Recitation Class (Tuesday 18:30pm, 11/12/2019, Room: 113F, TA: Qingmin Liu)
Decrease key
Amortised analysis on heap
Pointer of C++
Lab 7 : Trees (Due: 19:00pm, 11/26/2019)
Lab07-Trees: Lab07-Trees.pdf
LaTex Source of Lab07: Lab07-Trees.tex
Lab07 Solution: Lab07-Solution.pdf
Best Labs: Lab07-ChenyunTao.pdf, Lab07-JinHUANGFU.pdf, Lab07-QiSun.pdf
In-Class
Reading Materials
Slide: Slide23-Graphs.pdf (Print Version: 23-Graphs.pdf)
Slide: Slide24-BFSDFS.pdf (Print Version: 24-BFSDFS.pdf)
Slide: Slide25-MST.pdf (Print Version: 25-MST.pdf)
Slide: Slide26-ShortestPath.pdf (Print Version: 26-ShortestPath.pdf)
Reference:
Recitation Class (Tuesday 18:30pm, 11/19/2019, Room: 113F, TA: Qingmin Liu)
Slide: GraphTheoryTutorial.pdf
Lab 8 : Graphs (Due: 16:00pm, 12/2/2019)
Lab08-Graphs: Lab08-Graphs.pdf
LaTex Source of Lab08: Lab08-Graphs.tex
Figure Source: Lab08-figure1.jpg, Lab08-figure2.jpg
Lab08 Solution: Lab08-Solution.pdf
Best Labs: Lab08-ZhiyuHao.pdf, Lab08-XingyuMing.pdf, Lab04-YifanQian.pdf
Reading Materials
Slide: Slide27-GreedyAlgorithm.pdf (Print Version: 27-GreedyAlgorithm.pdf)
Slide: Slide28-DynamicProgramming.pdf (Print Version: 28-DynamicProgramming.pdf)
Reference:
* Reference15-GreedyAlgorithm.pdf -- Chapter 4.1-4.3 in "Algorithm Design" by J. Kleinberg, and E. Tardos, Pearson-Addison Wesley, 2005.
* Reference16-DynamicProgramming.pdf -- Chapter 6.1-6.7 in "Algorithm Design " by J. Kleinberg, and E. Tardos, Pearson-Addison Wesley, 2005.
序号 (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 |