1 / 12

About CS5234: Course Overview

About CS5234: Course Overview. CS5234: Combinatorial and Graph Algorithms Level and Emphasis of Course Advanced level, geared towards research Learn to design more efficient algorithms Learn advanced techniques for analysis of algorithms Challenging Homeworks

jenna
Télécharger la présentation

About CS5234: Course Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms • Level and Emphasis of Course • Advanced level, geared towards research • Learn to design more efficient algorithms • Learn advanced techniques for analysis of algorithms • Challenging Homeworks • Is this course suitable for you? • Course Pre-requisites • Mathematical Maturity • Programming Experience

  2. CS5234: Comb and Graph Alg (Fall 2007) • Instructor: Leong Hon Wai, S16 06-01 • http://www.comp.nus.edu.sg/~CS5234/2007/ • Course Objectives: • covers advanced design and analysis of algorithms • emphasizes efficient algorithms and data structures • Algorithms for combinatorial optimisation • Use of algorithms in advanced software development • Target Students: • advanced undergraduate (4th year) students • beginning graduate students • those doing research in algorithm design

  3. CS5234: Overview…(2) • Prerequisite: • CS3230 Design and Analysis of Algorithms AND • C++ Programming Skills • Or Consent of Instructor • TextBook and Reference Material: • [CLRS01] Introduction to Algorithms, (2nd edition) by Cormen, Leiserson, Rivest, Stein • (Material also comes from [Tarj83], [RND77], etc)

  4. CS5234: Overview… (3) • Course Grading: • 30% Homeworks • 20% Programming Assignments • 50% Final Exam (OPEN BOOK) • Homework: (30%) • About 4-5 sets (about 1 every 2-3 weeks) • Very important part of the course • Project: (20%) • 1 LEDA programming assignment • Term project

  5. CS5234: Topics (Tentative) • ADVANCED DATA STRUCTURES and ALGORITHMS • Heaps, Shortest Path and MST • Leftist Heaps and O(m lg lg n) MST Alg. • Amortized Analysis and Binomial Heaps [Fast Review] • F-Heaps & Fast Shortest Path Alg. • LEDA and BAP Case Study • COMBINATORIAL Optimization • Network Flow Problems: Algorithms and Applications • Maximum Matching:Algorithmsand Applications • NP-COMPLETENESS • NP-completeness: Cook's Theorem, Reduction • Approximation Algorithms • Local Search Methods • SPECIAL TOPICS: • Presentations by Students

  6. CS4534: References • Main Text: [CLRS01] Introduction to Algorithms, (2nd edition) by Cormen, Leiserson, Rivest, Stein, MIT, (2001) • References: [Tar83]*Data Structures and Network Algorithmsby Robert E. Tarjan, SIAM, 1983. [RND77]*Combinatorial Algorithms: Theory & Practiceby Reingold, Nievergelt & Deo, PH, (1977) [PS82]Combinatorial Optimization: Alg. & Complexity,by Papadimitriou & Steiglitz, PH, (1982)

  7. About CS5234 Homeworks • RSA Problem • Routine Problems -- easy practice problems • Standard Problems -- to be submitted • Advanced Problems -- for challenge, fun

  8. About CS5234 Homeworks – (2) • Academic Policy (on Plagiarism) • You do your work YOURSELF • If REALLY stuck, discuss ONLY general approaches • IF YOU DISCUSS, write names of collaborators • Do NOT copy/compare answers! • Your Homework Answers: • Concise & Precise Answers • Appropriate Level of Detail (see handouts)

  9. CS5234: Is this the right Course for You? • I ASSUME knowledge of • Programming (CS1101); Data Structures (CS1102); • AND CS3230 Analysis of Algorithms; • If you have NOT done CS3230 or equiv.: • Take CS3230 instead! This is NOT a course to learn algorithms? • We assume that you ALREADY KNOW algorithms • TAKE CS3230 instead!

  10. CS5234 Pre-Requisites… • CS3230 Analysis of Algorithms • Else, Background Knowledge Assumed • Alternatively, see that you have mastered the following Chapters from the text [CLRS01] (including the analysis of their running times): • Chapters 3-5 Mathematical Foundations • Chapters 6-13 Basic Data Structures • Chapters 15-16 DP and Greedy Algorithms • Chapters 22-24 Basic Graph Algorithms • Otherwise: • Talk to instructor (case-by-case)

  11. Else, Background Knowledge Assumed…. • Data Structures: (with Analysis) • Stacks, Queues, Lists, • Binary search trees, balanced trees, • Heaps and priority queues • Algorithm Design Paradigms (with Analysis) • Standard sorting and searching algorithms • Graph algorithms: DFS, BFS, • Dijkstra's SP alg, MST Algorithms • Greedy Algorithms, Dynamic Prog, Divide-and-Conquer • Analysis of Algorithms • Expertise with Big-O notations • Competent with Algorithm Analysis: • Quicksort, Heapsort, DFS, BFS, Divide-and-Conquer alg.

  12. Q & A. --- The End ---

More Related