Week |
Date |
Lecture Topic |
Event |
TA |
1 |
Feb.25 |
Algorithm Design and Analysis Sorting Algorithm, Time Complexity, Space Complexity, etc. |
|
|
1 |
Feb.28 |
Amortized Analysis Aggregate Analysis, Accounting Method, Potential Method, Dynamic Table, etc. |
Lab-01 |
|
2 |
Mar.04 |
Divide-and-Conquer (1) Mergesort, Selection, Master’s Theorem, etc. |
|
|
2 |
Mar.07 |
Divide-and-Conquer (2) Sorting Network, etc. |
Lab-02 |
|
3 |
Mar.11 |
Greedy Approach (1) Interval Scheduling, Interval Partitioning, Minimum Lateness, etc. |
|
|
3 |
Mar.14 |
Greedy Approach (2) Matroid, Greedy-Max Algorithm, etc. |
Lab-03 |
|
4 |
Mar.18 |
Dynamic Programming (1) Weighted Interval Scheduling, Segmented Least Squares, Knapsack, etc. |
|
|
4 |
Mar.21 |
Dynamic Programming (2) RNA Secondary Structure, Sequence Alignment, etc. |
Lab-04 |
|
5 |
Mar.25 |
Linear Programming Basic Form, Duality Theory, Simplex Algorithm, etc. |
Lab-05 |
|
6 |
Apr.04 |
Midterm Exam
|
|
|
7 |
Apr.08 |
Graph Algorithms (1) Basic Concepts, Minimum Spanning Tree, etc. |
|
|
7 |
Apr.11 |
Graph Algorithms (2) Basic Form, Duality Theory, Simplex Algorithm, etc. |
Lab-06 |
|
8 |
Apr.15 |
Graph Algorithms (3) Single Source Shortest Paths (Greedy & DP), All-Pair Shortest Paths, etc. |
|
|
8 |
Apr.11 |
Graph Algorithms (4) Flow Problem, Maximum Flow, Minimum Cut, etc. |
Lab-07 |
|
9 |
Apr.22 |
Turing Machine Computability, Turing Machine, etc. |
|
|
9 |
Apr.25 |
NP-Completeness (1) NP class, Polynomial time, etc. |
Lab-08 |
|
10 |
Apr. 29 |
NP-Completeness (2) Reducibility, Proofs, etc. |
|
|
10 |
May.02 |
NP-Completeness (3) Reducibility, Proofs, etc. |
Lab-09 |
|
11 |
May.06 |
Approximation (1) Approximation Ratio, Approximation Class, etc. |
|
|
11 |
May.09 |
Approximation (2) Greedy Algorithm, Local Search, etc. |
Lab-10 |
|
12 |
May.13 |
Approximation (3) LP+Rounding (Deterministic & Randomized), etc. |
|
|
12 |
May.16 |
Randomized Algorithm (1) Max-3SAT Approximation, Universal Hashing, etc. |
Lab-11 |
|
13 |
May.20 |
Randomized Algorithm (2) Load Balancing, Exercises, etc. |
|
|
13 |
May.23 |
Online Algorithm (2) + Final Review Competitive Ratio, Online Packing-Covering Framework, Basic Algorithms, etc. |
|
|
Reading Materials
Syllabus & Grading Policy: Syllabus-AlgorithmComplexity.pdf
Slide: Slide01-Prologue.pdf (Print Version: 01-Prologue.pdf)
Reference:
* Reference01-Set.pdf Appendix B.1-B.3 of "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition);
* Reference02-Proof.pdf Chapter 2.1 of "Introduction to Languages and the Theory of Computation" by John Martin, McGraw-Hill, 2002.
Latex Tutorial
Latex Example: LatexExample.pdf (Source: LatexExample.tex, Fig-GraphG1.pdf, Fig-GraphG2.pdf)
Latex Helper: LatexHelper(ENG).pdf (Chinese Version: LatexHelper(CHI).pdf)
Algorithm Package Helper: AlgorithmPackage.pdf
Latex Tutorial: LaTeXTutorial.pdf
Reading Materials
Slide: Slide02-AlgorithmAnalysis.pdf (Print Version: 02-AlgorithmAnalysis.pdf)
Reference:
* Reference03-AlgorithmAnalysis.pdf Chapter 1 in "Algorithm Design Technique and Analysis" by M. H. Alsuwaiyel, World Scientific, 1999.
* Reference04-Summation.pdf Appendix A of "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition);
Reading Materials
Slide: Slide03-AmortizedAnalysis.pdf (Print Version: 03-AmortizedAnalysis.pdf)
Reference:
* Reference05-AmortizedAnalysis.pdf Chapter 17 in "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition)
Lab 01: AlgorithmAnalysis (Due: 10:00 am, 03/07/2019)
Lab01-AlgorithmAnalysis: Lab01-AlgorithmAnalysis.pdf
LaTeX Source of Lab01: Lab01-AlgorihtmAnalysis.tex
Lab01-Solution: Lab01-Solution.pdf
Reading Materials
Slide: Slide04-DivideConquer.pdf (Print Version: 04-DivideConquer.pdf)
Reference: Reference06-DivideConquer.pdf Chapter 2 of "Algorithm" by S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, McGraw-Hill, 2007.
Reading Materials
Slide: Slide05-SortingNetwork.pdf (Print Version: 05-SortingNetwork.pdf)
Reference: Reference07-SortingNetwork.pdf Chapter 27 of "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2002. (2nd Edition).
Tkinter Tutorial
Official Documentation: Tkinter - Python interface to Tcl/Tk
Tkinter Tutorial: TkinterTutorial.pdf
Sorting Network: Code-SortingNetwork.py
Lab 2: Divide and Conquer (Due: 10:00 am, 03/14/2019)
Lab02-DivideConquer: Lab02-DivideConquer.pdf
LaTeX Source of Lab02: Lab02-DivideConquer.tex
Figure Source: Fig-Transposition.pdf
Code Source: Code-Pairs.cpp
Submission Requirements: SubmissionRequirements.pdf
Lab02-Solution: Lab02-Solution.pdf
Reading Materials
Slide: Slide06-GreedyAlgorithm.pdf (Print Version: 06-GreedyAlgorithm.pdf)
Reference: Reference08-GreedyAlgorithm.pdf Chapter 4.1-4.3 in "Algorithm Design" by J. Kleinberg, and E. Tardos, Pearson-Addison Wesley, 2005.
Movie: Wall Street (1987)
Reading Materials
Slide: Slide07-Matroid.pdf (Print Version: 07-Matroid.pdf)
Reference:
* Reference09-Matroid.pdf Chapter 16.4 in "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition);
* Chapter 2.1-2.2 in "Design and Analysis of Approximation Algorithms" by D.-Z. Du, K.-I. Ko, and X. D. Hu, Springer, 2012.
Lab 3: Greedy Strategy (Due: 10:00, 03/21/2018)
Lab03-GreedyStrategy: Lab03-GreedyStrategy.pdf
LaTeX Source of Lab03: Lab03-GreedyStrategy.tex
Figure Source of Lab03: Fig-Lab03.pdf
Lab03-Solution: Lab03-Solution.pdf
Reading Materials
Slide: Slide08-DynamicProgramming.pdf (Print Version: 08-DynamicProgramming.pdf)
Reference: Reference10-DynamicProgramming.pdf Chapter 6.1-6.7 in "Algorithm Design " by J. Kleinberg, and E. Tardos, Pearson-Addison Wesley, 2005.
Lab 4: Dynamic Programming (Due: 10:00, 03/28/2019)
Lab04-DynamicProgramming: Lab04-DynamicProgramming.pdf
LaTeX Source of Lab04: Lab04-DynamicProgramming.tex
Code Source: Code-SequenceAlignment.cpp
Lab04-Solution: Lab04-Solution.pdf
Reading Materials
Slide: Slide09-LinearProgramming.pdf (Print Version: 09-Linear Programming.pdf)
Reference:
* Reference11-LinearProgramming.pdf Chapter 29.1 in "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition);
* Chapter 7.4 in "Algorithms" by S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, McGraw-Hill, 2007.
* Reference12-SimplexAlgorithm.pdf Chapter 29.3 in "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition).
CPLEX Tutorial
Get CPLEX from IBM ILOG CPLEX Optimization Studio
Get official documentation from IBM Knowledge Center
CPLEX Tutorial: CPLEXTutorial.pdf
Lab05-LinearProgramming: Lab05-LinearProgramming.pdf
LaTeX Source of Lab05: Lab05-LinearProgramming.tex
Lab05-Solution: Lab05-Solution.pdf
Reading Materials
Slide: Slide10-GraphAlgorithm.pdf (Print Version: 10-GraphAlgorithm.pdf)
Slide: Slide11-BFSDFS.pdf (Print Version: 11-BFSDFS.pdf)
Learn Borüvka Algorithm from Wikipedia
Reference: Reference13-GraphDecomposition.pdf Chapter 3, 4 in "Algorithm" by S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, McGraw-Hill, 2007.
Gephi Tutorial
Get Gephi from official website
Gephi Tutorial: GephiTutorial.pdf
Lab 6: Graph Exploration (Due: 10:00, 04/18/2019)
Lab06-GraphExploration: Lab06-GraphExploration.pdf
LaTeX Source of Lab06: Lab06-GraphExploration.tex
Code Source: Code-SCC.cpp
Graph Information: scc.in
Lab06-Solution: Lab06-Solution.pdf
Reading Materials
Slide: Slide12-ShortestPath.pdf (Print Version: 12-ShortestPath.pdf)
Reference:
* Reference14-ShortestPath.pdf Chapter 24 in "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition);
* Reference15-ShortestPathDP.pdf Chapter 6.8, 6.10 in "Algorithm Design" by J. Kleinberg, and E. Tardos, Pearson-Addison Wesley, 2005;
* Reference16-AllPairShortestPath.pdf Chapter 25 in "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition).
Reading Materials
Slide: Slide13-NetworkFlow.pdf (Print Version: 13-NetworkFlow.pdf)
Reference: Reference17-NetworkFlow.pdf Chapter 25 in "Introduction to Algorithms" by T. Cormen, C. Leiserson, R. Rivest, C. Stein, The MIT Press, 2009. (3rd Edition).
Lab07-NetworkFlow: (Due: 10:00, 04/25/2019)
Lab07-NetworkFlow: Lab07-NetworkFlow.pdf
LaTeX Source of Lab07: Lab07-NetworkFlow.tex
Lab07-Solution: Lab07-Solution.pdf
Reading Materials
Slide: Slide14-TuringMachine.pdf (Print Version: 14-TuringMachine.pdf)
Reference: Reference18-TuringMachine.pdf Chapter 1 in "Computational Complexity: A Modern Approach", by Sanjeev Arora and Boaz Barak, Cambridge University Press, 2006
Reading Materials
Slide: Slide15-NPReduction.pdf (Print Version: 15-NPReduction.pdf)
Reference: Reference19-NPReduction.pdf Chapter 8 in "Algorithm Design" by J. Kleinberg, and E. Tardos, Pearson-Addison Wesley, 2005
Music: The Longest Path (1988)
Lab 8: Turing Machine and Reduction (Due: 10:00, 05/09/2019)
Lab08-TuringMachineAndReduction: Lab08-Computational Complexity.pdf
LaTeX Source of Lab08: Lab08-Computational Complexity.tex
Lab07-Solution: Lab08-Solution.pdf
Reading Materials
Slide: Slide16-ApproximationI.pdf (Print Version: 16-ApproximationI.pdf)
Reference: Reference20-Approximation.pdf Chapter 1.1, 2.1, 2.3 in "Design of Approximation Algorithms " by D. Williamson, and D. Shomoys, Cambridge University Press, 2010.
Lab 9: Approximation Algorithm (Due: 10:00, 05/16/2019)
Lab09-ApproximationAlgorithm: Lab09-ApproximationAlgorithm.pdf
LaTeX Source of Lab09: Lab09-ApproximationAlgorithm.tex
Lab09-Solution: Lab09-Solution.pdf
Reading Materials
Slide: Slide17-ApproximationII.pdf (Print Version: 17-ApproximationII.pdf)
Reference: Reference21-ApproximationII.pdf Chapter 14 in "Approximation Algorithms" by V.Vazirani, Springer-Verlag, 2001.
Reading Materials
Slide: Slide18-RandomizedAlgorithm.pdf (Print Version: 18-RandomizedAlgorithm.pdf)
References:
* Lecture 19 of CS 38: Introduction to Algorithms by Chris Umans, California Institute of Technology;
* CPSC 536N: Randomized Algorithms by Nicholas Harvey, University of British Columbia;
* CSE525: Randomized Algorithms and Probabilistic Analysis by James R. Lee, University of Washington.
Lab 10: Approximation & RandomizedAlgorithm (Due: 10:00, 05/23/2019)
Lab10-Approximation&RandomizedAlgorithm: Lab10-Approximation&RandomizedAlgorithm.pdf
LaTeX Source of Lab10: Lab10-Approximation&RandomizedAlgorithm.tex
Lab10-Solution: Lab10-Solution.pdf
Reading Materials
Slide: Slide19-OnlineAlgorithm.pdf (Print Version: 19-OnlineAlgorithm.pdf)
References: CS369: Topics in Analysis of Algorithms by Serge Plotkin, Stanford University.
序号 (No.) |
队名 (Team Name) |
队员
一
(Member 1) |
队员
二
(Member 2) |
队员
三
(Member 3) |
题目 (Project) |
1 | 233 | 伏开宇 | 范思妤 | 雷锐 | Project01-BusSchedulingProblem |
2 | exciting | 郑启明 | 李之尧 | Project02-UndergroundLogisticsSystem | |
3 | 123 | 胡跃 | 褚超群 | 张磊 | Project01-BusSchedulingProblem |
4 | Inch | 吴寅初 | 徐加伟 | 李婷 | Project01-BusSchedulingProblem |
5 | ACCEPT | 蔡云翔 | 陈若昕 | 周杨杰 | Project02-UndergroundLogisticsSystem |
6 | Right | 刘妍岑 | CARLOS PER... | Project01-BusSchedulingProblem | |
7 | i33 | 郑作武 | 张梦倩 | 梁安琪 | Project01-BusSchedulingProblem |
8 | Antibiotics | 王钿鑫 | CHIN WEI Q... | 熊思衡 | Project01-BusSchedulingProblem |
9 | 456 | VALERIIA T... | SARAH NADI | 王帅 | Project02-UndergroundLogisticsSystem |
10 | code | 郝莉民 | DAUD KHAN | AISHA JUMA... | Project02-UndergroundLogisticsSystem |
11 | SEA | VAN KIEN B... | KENNETH MA... | Project02-UndergroundLogisticsSystem |