COMP 3270
Introduction to Algorithms
Homework 1
Due: January 31st, Tuesday by 11:59 PM (midnight)
Please submit as a PDF document using Canvas
Instructions:
1. This is an individual assignment. You sh
Techniques for
Detailed Complexity Analysis
of Recursive Algorithms
COMP 7270 N. H Narayanan
Computer Science & Software Engineering
Auburn University
Approximate Big-Oh Analysis of Complexity
Recursi
Problem Classes and
Complexities
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
Problems
Inherent complexity of problems
Problem Classes: Classifying problems
based on
Dynamic Programming
&
Greedy Algorithm Design
Part VI
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
Recap: Detailed steps of correct & effici
ent DP/Greedy algorithm des
Dynamic Programming
&
Greedy Algorithm Design
Part V
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
Longest Common Subsequence Problem
Example
X = < A, B, C, B, D, A, B >
String Matching
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
String Searching/Matching
Applicable whenever what you are searching for and
where you are searching can bo
Non-Deterministic Polynomial
Time Problems
Bo Liu
Computer Science & Software Engineering
Auburn University
Review on Problem Complexity
Problems
Inherent complexity of problems
Problem Classes: C
Non-Deterministic Polynomial
Time Problems
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
Important Concepts
P: the class of problems with polynomial
(O(nk) solution alg
This course is really about Computational
Problem Solving.
It is the process of coming up with a correct AND
efficient computational solution (i.e., one or more
algorithms) to a given problem.
The var
Reading Assignment
Read Chapter 1
Mirrormirror on the wall,
whos the biggest trader ofem all?
Suppose you are hired by Warren Buffet to a well-paid
job at Berkshire Hathaway.
Suppose on your first day
COMP 3270
Introduction to Algorithms
Syllabus
Instructor
Name: Dr. Levent Yilmaz
Email: [email protected]
Office: 3116 Shelby Center
Office Hours: T/H 1:00-2:00 and by appointment
Course Description
A
Growth Functions
Chapter 3
Reading Assignment
p.43-49
p. 50-51: know the definitions of o-notation
and -notation, thats all.
p.53-59: know what monotonicity is (p.
53), equation (3.3), (3.8) & (3.9
Writing Pseudocode
You must have finished reading Section
2.1 by now.
Make sure that you understand the
pseudocode conventions in this section.
Read 2.2 now!
1
Computational Problem Solving
Proble
Algorithm Complexity/Efficiency
what is efficiency? (two basic types)
why is it important?
Reading Assignment
By now you should have read all of Chapter
1 and Chapter 2 Section 2.1 and Section
2.3.1
Dynamic Programming
&
Greedy Algorithm Design
Part III
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
Problems for which dynamic programming algo
rithm design will yield
Dynamic Programming
&
Greedy Algorithm Design
Part I
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
Dynamic programming can be applied to p
roblems whose solution can be
1. What does the recursive algorithm above compute?
A. This recursive algorithm computes the smallest number in the array.
Develop and state the two recurrence relations exactly (i.e., determine all c
COMP 3270
Homework 3
100 points
Please submit using Canvas by 11:55PM on Tuesday, March 21th, 2017
Instructions:
1. This is an individual assignment. You should do your own work. Any evidence of copyi
COMP 3270
Introduction to Algorithms
Homework 1
Due: January 31st, Tuesday by 11:59 PM (midnight)
Please submit as a PDF document using Canvas
Instructions:
1. This is an individual assignment. You sh
Exam 1 Review
TOPICS: What you need to know
1.
2.
Problems and computational strategies for solving problems
Developing algorithms from strategies
1.
2.
4.
Recursive algorithms
Non-recursive algorithm
Basic Algorithmic Skills
1.
2.
3.
4.
5.
How to write algorithms
How to read algorithms
How to understand algorithms
How to analyze algorithms
How to design algorithms
COMP 7270 N. H Narayanan
Computer
How to analyze algorithms
1. How to determine and prove correctness
1.
2.
3.
4.
Proof by counterexample
Proof by contradiction
Proof by loop invariants
Proof by induction
2. How to analyze efficiency
Analyzing algorithm complexi
ty
Assumption: the computer that runs the algorithm
s is a one processor random access machine (RAM)
Analyzing Algorithms
The time needed by an algorithm to solve a prob
The Traveling Salesman Problem
xkcd.com: A webcomic of romance, sarcasm, math and language
Advanced Topics in Algorithms
COMP 7270/7276
Narayanan
COMP 7270 N. H Narayanan
Computer Science & Software E
Let us start with the basics
COMP 7270 N. H Narayanan
Computer Science & Software Engineering
Auburn University
Problems
Problem: A specification of an available input and the
desired output.
Exampl
Dynamic Programming
&
Greedy Algorithm Design
Part II
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
The activity-selection problem
The activity-selection problem is to
Dynamic Programming
&
Greedy Algorithm Design
Part IV
N. Hari Narayanan
Computer Science & Software Engineering
Auburn University
Problem Subgraphs
A systematic approach to deciding lookup
table siz
An Intro to
Probabilistic Analysis
and
Randomized Algorithms
COMP 7270 N. H Narayanan
Computer Science & Software Engineering
Auburn University
A Hiring Algorithm
HIRE-ASSISTANT(A[1.n] : array of cand