Search
Browse
Create
Log in
Sign up
Log in
Sign up
Upgrade to remove ads
Only $2.99/month
Analysis of Algorithms
STUDY
Flashcards
Learn
Write
Spell
Test
PLAY
Match
Gravity
Analysis of Algorithms
Terms in this set (30)
algorithm
a sequence of unambiguous instructions for solving a problem
principles of an algorithm
finiteness, difiniteness, input, output, effectiveness
euclid's algorithm
gcd(m, n) = gcd(n, m % n)
steps in design and analysis of algorithms
- understand the problem
- choose between approximate and exact problem solving
- decide on data structures
- algorithm design technique
- methods of specifying an algorithm
- prove algorithm correctness
- analyze the algorithm
- code the algorithm
why study algorithms
theoretical importance, practical importance
algorithm design strategies
- brute force
- divide and conquer
- decrease and conquer
- transform and conquer
- greedy approach
- dynamic programming
- backtracking and brand and bound
- space and time tradeoffs
worst case
maximum over inputs of size n -> O(n)
best case
minimum over inputs of size n -> O(1)
average case
expected number of basic operations repetitions considered as a random variable under some assumption about the probability distribution of all possible inputs of size n
T(n) < g(n)
0
T(n) = g(n)
c>0
T(n) > g(n)
infinity
steps in mathematical analysis of nonrecursive algorithms
- decide on input size
- identify algorithm's basic operation
- determine worst, average, and best cases for input size n
- set up summation for C(n) reflecting algorithm's loop structure
- simplify summation using standard formulas
steps in mathematical analysis of recursive algorithms
- decide on input size
- identify algorithm's basic operation
- determine worst, average, and best cases for input size n
- set up a recurrence relation and initial condition(s) for C(n)
- solve the recurrence to obtain a closed form or estimate the order of magnitude of the solution
t(n) = t(n-1) + c; t(1) = d
t(n) = (n-1)c + d
t(n-1) +cn; t(1) = d
t(n) = [n(n+1)/2 - 1] c + d
t(n) = t(n/2) + c; t(1) = d
t(n) = c lg n + d
t(n) = 2t(n/2) + cn; t(1) = d
t(n) = cn lg n + dn
brute force
a straightforward approach usually based on problem statement and definitions of the concepts
selection sort
sort for the smallest in a list of size n and swap it with the first element in the list, reduce the list size by 1 and repeat until n-1 passes are made
bubble sort
compare adjacent elements and swap if out of order, repeat n-1 times.
brute force strengths
wide applicability - simplicity, yields reasonable algorithms for some important problems, yields standard algorithms for simple computational tasks
brute force weaknesses
rarely yields efficient algorithms, some brute force algorithms unacceptably slow, not as constructive/creative as some other design techniques.
convex
a set of points in the plane are called convex if for any two points p and q in the set, the entire line segment with endpoints at p and q belongs to the set.
convex hull
the smallest convex set containing the set S
undirected graph
edges are unordered pairs (v0, v1) = (v1, v0)
complete graph
a graph with the maximum number of edges
decrease and conquer
1) reduce problem instance to smaller instance of the same problem and extend solution
2) solve smaller instance
3) extend solution of smaller instance to obtain solution to original problem
Russian peasant multiplication
if n is even: n/2 * 2m
if n is odd: (n-1)/2 * 2m + m
interpolation search
like binary search except use linear interpolation on l and r to get the comparison value: x = l + floor[((v-A[l])(r-l)) / A[r]-A[l])]
l is left boundary, r is right boundary, v is search value
loglogn + 1
THIS SET IS OFTEN IN FOLDERS WITH...
Big O Notation
22 terms
Data Structures and Algorithms in Java Chapter 7:…
44 terms
Big O
73 terms
Professional JavaScript for Web Developers, Chapte…
5 terms
YOU MIGHT ALSO LIKE...
MA: Algorithms: BJC 5
21 terms
MKTG RESEARCH CH. 10
40 terms
Algorithms
14 terms
OTHER SETS BY THIS CREATOR
CS6035 - Exam 1
80 terms
Computer Graphics Test 2
16 terms
Computer Graphics Test 1
38 terms
Psychology Final
67 terms
OTHER QUIZLET SETS
AP CompSci Codes
29 terms
Midterm
46 terms
Victorian Era
40 terms
State Exam
90 terms