Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMPT 438 Algorithms Instructor: Tina Tian.

Similar presentations


Presentation on theme: "CMPT 438 Algorithms Instructor: Tina Tian."— Presentation transcript:

1 CMPT 438 Algorithms Instructor: Tina Tian

2 General Information Email: tina.tian@manhattan.edu Office: RLC 203A
Office Hours: Tuesday and Friday 3:15 - 4:45 or by appointment Website: turing.manhattan.edu/~tina.tian

3 About the Course Tue and Fri 11:00 - 12:15 Textbook:
Introduction to Algorithms (3rd Edition), by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein. (CLRS)

4 Grading 2 Midterm Exams 30% Final Exam 25% Quizzes 10%
Homework and projects %

5 About the Homework Only hard copy is accepted. (Graphs, trees, etc. can be drawn by hand) Due in a week after being announced Late work will not be accepted

6 About the Projects Programs in your favorite language
Submit the electronic copy (.doc) to Moodle Source code Screenshot of test runs Analysis: algorithm chosen and why, running time analysis, etc. Due before the last class (Dec 7) Strongly recommend to start early

7 Homework Policy You may discuss the homework/projects with other students. And you must independently write up your own solutions.

8 Advises Take notes (very important) Ask questions anytime!
Start the homework and programming assignments early

9 What will be covered Foundations (Chap 1-4)
Designing and analyzing algorithms Asymptotic notations Divide- and-Conquer

10 Recurrences Def.: Recurrence = an equation or inequality that describes a recursive function E.g.: T(n) = T(n-1) + n Useful for analyzing recurrent algorithms Methods for solving recurrences Substitution method Recursion tree method Master method

11 Types of Analysis Worst case Best case Average case
Provides an upper bound on running time An absolute guarantee that the algorithm would not run longer, no matter what the inputs are Best case Input is the one for which the algorithm runs the fastest Average case Provides a prediction about the running time Assumes that the input is random

12 What will be covered (cont.)
Heaps and priority queues (Chap 6) Heaps Heapsort Priority queues

13 What will be covered (cont.)
Hash Tables (Chap 11)

14 T:1 Andy 2 3 Cindy 20 Tony Thomas Problem: Collisions. They are inevitable if there are more possible key values than table slots.

15 What will be covered (cont.)
Dynamic Programming (Chap 15) Rod cutting, matrix chain multiplication, longest common sequence of two strings (DNA strands), 0-1 Knapsack problem

16 What will be covered (cont.)
Greedy Algorithms (Chap 16) Schedule the largest possible set of non-overlapping activities for RLC 104

17 What will be covered (cont.)
Graph Algorithms (Chap 22 – 23) Minimum Spanning Tree Transportation route planning Shortest Paths Network routing Driving direction Find T such that: 1. T connects all vertices 2. w(T) = Σ(u,v) in T and w(u, v) is minimized

18 What will be covered (cont.)
NP-Completeness (Chap 34) Traveling-salesman Problem Wish to make a tour Visit each city exactly once Finish at the city he starts from Total cost is minimum

19 Pseudocode

20 Mathematical Requirement
Induction Used to prove a sequence of statements (S(1), S(2), … S(n)) indexed by positive integers. Proof: Basis step: prove that the statement is true for n = 1 Inductive step: assume that S(n) is true and prove that S(n+1) is true for all n ≥ 1

21 Mathematical Requirement
? Appendix A

22 Readings CLRS Chapter 1 & 2 Appendix A
Bring a notebook with you next time!


Download ppt "CMPT 438 Algorithms Instructor: Tina Tian."

Similar presentations


Ads by Google