Professional Documents
Culture Documents
Why Study Algor Thms
Why Study Algor Thms
Web Clip
Algorithms
Here it is, from thirty-thousand feet, as they say.
CONTENTS
Why Study Algorithms • Classifying Algorithms
And:
Classifying
Algorithms
Primary dimemsions:
By domain
By complexity class
By underlying data structure
By problem solving strategy IMPORTANT
Problem Domain
What kind of a problem are you trying to solve?
Complexity Class
Let n be the input size and k be a fixed constant.
Constant (k )
Logarithmic (log n )
Linear (n )
Linearithmic (n log n )
Polynomial (n k where k > 1)
Exponential (k n )
Superexponential (ZOMG)
Underlying Data Structure
There is a huge list of data structures at Wikipedia, but here are some
of the more common ones:
Arrays
Sorted Arrays
Linked Lists (singly-linked, doubly-linked, with sentinels, ...)
Hashtables (with several collision resolution strategies)
Unbalanced Trees
Balanced Trees
Skip Lists
Heaps (min, max, binary, Fibonacci)
Strategies
This isn’t a complete list, but it covers some of the more famous ones: