Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 3101E Design and Analysis of Algorithms Prof. J. Elder.

Similar presentations


Presentation on theme: "CSE 3101E Design and Analysis of Algorithms Prof. J. Elder."— Presentation transcript:

1 CSE 3101E Design and Analysis of Algorithms Prof. J. Elder

2 COSC 3101, PROF. J. ELDER 2 Textbooks Required Text: –Cormen, T.H., Leiserson, C.E., Rivest, R.L. & Stein, C. (2001). Introduction to Algorithms, 2nd Ed. Cambridge, Mass: MIT Press. Available in the York University Bookstore Also available from www.amazon.ca for $68.01www.amazon.ca Optional Text: –Edmonds, J. How to Think about Algorithms. New York, NY: Cambridge University Press.

3 COSC 3101, PROF. J. ELDER 3 Assignments You will learn best if you try to tackle each problem by yourself initially. You are encouraged to discuss the problems and work in groups to overcome roadblocks. You are encouraged to team up with a partner and write up a single assignment report (maximum 2 per group). Make the reports as concise and organized as possible. Marks may be taken off for excess verbosity or lack of clarity. Late assignments are not excepted (except for medical emergencies – please see syllabus).

4 COSC 3101, PROF. J. ELDER 4 Teaching Assistant Eduardo Corral SotoEduardo will be marking all assignments. Please direct any questions regarding the marking of assignments to Eduardo. If you believe there was an error in marking your assignment, please bring it to Eduardo’s attention promptly (within a week). Office hour: Mon 9:30-10:30 (Location TBA)

5 COSC 3101, PROF. J. ELDER 5 Please ask questions! Help me know what people are not understanding!

6 COSC 3101, PROF. J. ELDER 6 On the slides These slides: – are available from the website www.elderlab.yorku.ca/~elder/teaching/cse3101 www.elderlab.yorku.ca/~elder/teaching/cse3101 –may change up to the last minute as I polish the lecture. –Include slides originally created by J. Edmonds: Thanks Jeff!

7 COSC 3101, PROF. J. ELDER 7 Lectures I will teach the first 18 lectures Jeff Edmonds will teach the last 3 lectures on dynamic programming

8 Lecture 1. What is this course about?

9 COSC 3101, PROF. J. ELDER 9 Course Content A list of algorithms. –Learn their code. –Trace them until you are convinced that they work. –Implement them. –Worry about details. class InsertionSortAlgorithm extends SortAlgorithm { void sort(int a[]) throws Exception { for (int i = 1; i < a.length; i++) { int j = i; int B = a[i]; while ((j > 0) && (a[j-1] > B)) { a[j] = a[j-1]; j--; } a[j] = B; }}

10 COSC 3101, PROF. J. ELDER 10 Innovation Abraham Lincoln Thomas Edison Steve Wozniak and Steve Jobs

11 COSC 3101, PROF. J. ELDER 11 –Knowledge: An up to date grasp of fundamental problems and solutions –Ability: Principles and techniques that can be adapted to solve new problems The future belongs to the computer scientist/engineer who has

12 COSC 3101, PROF. J. ELDER 12 Course Content A survey of algorithmic design techniques. Abstract thinking. How to develop new algorithms for any problem that may arise.

13 COSC 3101, PROF. J. ELDER 13 A survey of fundamental ideas and algorithmic design techniques For example...

14 COSC 3101, PROF. J. ELDER 14 Mathematical Tools Input Size Time Classifying Functions f(i) = n  (n) Recurrence Relations T(n) = a T(n/b) + f(n) Summations ∑ i=1 f(i). Time Complexity t(n) =  (n 2 )

15 COSC 3101, PROF. J. ELDER 15 Iterative Algorithms Loop Invariants i-1 i i i 0 T+1 codeA loop exit when codeB codeC 9 km 5 km CodeRelay Race One step at a time

16 COSC 3101, PROF. J. ELDER 16 Recursive Algorithms ? ?

17 COSC 3101, PROF. J. ELDER 17 Graph Search Algorithms

18 COSC 3101, PROF. J. ELDER 18 Network Flows

19 COSC 3101, PROF. J. ELDER 19 Greedy Algorithms Example: Making Change

20 COSC 3101, PROF. J. ELDER 20 Dynamic Programing 53 4 2 84523 16575 32644 8598 2

21 COSC 3101, PROF. J. ELDER 21 Reduction =

22 COSC 3101, PROF. J. ELDER 22 NP-Completeness

23 Useful Learning Techniques

24 COSC 3101, PROF. J. ELDER 24 Read Ahead You are expected to read the lecture notes before the lecture. This will facilitate more productive discussion during class.

25 COSC 3101, PROF. J. ELDER 25 Explaining We are going to test you on your ability to explain the material. One good way to study is to explain the material over and over again to yourself or to each other.

26 Be Creative Ask questions. Why is it done this way and not that way?

27 COSC 3101, PROF. J. ELDER 27 Guesses and Counter Examples Guess at potential algorithms for solving a problem. Look for input instances for which your algorithm gives the wrong answer. Treat it as a game between these two players.

28 COSC 3101, PROF. J. ELDER 28 Refinement: The best solution comes from a process of repeatedly refining and inventing alternative solutions Rudich www.discretemath.com

29 End


Download ppt "CSE 3101E Design and Analysis of Algorithms Prof. J. Elder."

Similar presentations


Ads by Google