Professional Documents
Culture Documents
Design and Analysis of Algorithm
Design and Analysis of Algorithm
Design and Analysis of Algorithm
Algorithm
Important problem types
Sorting
Searching
Stringprocessing
Graph problems
Combinatorial problems
Geometric problems
Numerical problems
Sorting
Any process of arranging items in some
sequence and/or in different sets
◦ ordering: arranging items of the same kind,
class, nature, etc. in some ordered sequence
◦ categorizing: grouping and labeling items with
similar properties together (by sorts)
3
Searching
A search algorithm is an algorithm for
finding an item with specified properties
among a collection of items
4
String processing
String functions are used in computer
programming languages to manipulate a
string or query information about a string
(some do both)
5
Graph problems
A graph can be thought of as a collection
of points called vertices, some of which
are connected by line segments called
edges.
3
2
1
5
4
6
Combinatorial problems
The traveling
salesman problem
and the graph
coloring problem
are examples of
combinatorial
problems.
7
Geometric Numerical
problems problems
Geometric Numerical problems
algorithms deal with are problems that
geometric objects involve mathematical
such as points, lines, objects like solving
and polygons. equations and
systems of equations,
computing definite
integrals, evaluating
functions, and so on.
8
Finding the distance between the two
closest elements
15 23 37 56 58 67 80
Improvement version
Fundamental data structures
List • Graph
◦ Array • Tree
◦ Linked list • Set & dictionary
◦ String
Stack
Queue
Priority queue
12