Professional Documents
Culture Documents
Chapter 17
Algorithms I
1
The Objective of Today’s Lecture
To become familiar with the concept of
algorithms:
2
Solving Problems (1)
When faced with a problem:
1. We first clearly define the problem
2. Think of possible solutions
3. Select the one that we think is the best
under the prevailing circumstances
4. And then apply that solution
5. If the solution woks as desired, fine; else
we go back to step 2
3
Solving Problems (2)
• It is quite common to first solve a problem
for a particular case
• Then for another
• And, possibly another
• And watch for patterns and trends that
emerge
• And to use the knowledge form those
patterns and trends in coming up with a
general solution
4
Solving Problems (3)
• It helps if we have experienced that problem or
similar ones before
6
Examples
• Addition
• Conversion from decimal to binary
• The process of boiling an egg
• The process of mailing a letter
• Sorting
• Searching
7
Let us write down the algorithm for
a problem that is familiar to us
8
Convert 75 to Binary
2 75 remainder
2 37 1
2 18 1
2 9 0
2 4 1
2 2 0
2 1 0
0 1
1001011 9
Algorithm for Decimal-to-Binary Conversion
10
Points to Note:
1. The process consists of repeated application
of simple steps
2. All steps are unambiguous (clearly defined)
3. We are capable of doing all those steps
4. Only a limited no. of steps needs to be taken
5. Once all those steps are taken according to
the prescribed sequence, the required result
will be found
6. Moreover, the process will stop at that point
11
Algorithm (Better Definition)
1st Definition:
Sequence of steps that can be taken
to solve a problem
Better Definition:
A precise sequence of a limited
number of unambiguous, executable
steps that terminates in the form of a
solution
12
Three Requirements:
1. Sequence is:
a. Precise
b. Consists of a limited number of steps
15
Analysis of Algorithms
• Analysis in the context of algorithms is concerned with
predicting the resources that re requires:
– Computational time
– Memory
– Bandwidth
– Logic functions
17
Early History:
Search for a Generic Algorithm
• The study of algorithms began with
mathematicians and was a significant area of
work in the early years
18
Origin of the Term “Algorithm”
• The name derives from the title of a Latin
book: Algoritmi de numero Indorum
22
Greedy Algorithm
• An algorithm that always takes the best
immediate, or local solution while finding an
answer
26
Randomized Algorithm (1)
• Any algorithm whose behavior is not only
determined by the input, but also values
produced by a random number generator
28
Deterministic Algorithm (2)
• There can be degrees of deterministic behavior:
an algorithm that also uses a random number
generator might not be considered deterministic
Determine the 4
sequence of cities
such that the
traveling distance is 6
minimized 31
A Few Questions
• Is that the best possible sequence?
32
The Brute Force Strategy (1)
• A strategy in which all possible combinations are
examined and the best among them is selected
34
A Selection of Algorithmic
Application Areas
• Search
• Sort
• Cryptography
• Parallel
• Numeric
• Graphical
• Quantum computing
• Combinatory
35
We’ll now talk about the various
ways of representing algorithms.
36
Syntax & Semantics
An algo. is “correct” if its: WARNINGS:
– Semantics are correct
1. An algo. can be
– Syntax is correct syntactically correct,
yet semantically
Semantics: incorrect – very
The concept embedded in dangerous situation!
an algorithm (the soul!)
2. Syntactic
correctness is easier
Syntax: to check as
The actual representation compared with
of an algorithm (the body!) semantic
37
Now onto Algorithm Representation
• We have said enough about algorithms – their
definition, their types, etc.
40
Start or stop
Process
Input or output
Flowchart
Elements Decision
Flow line
Connector
Off-page connector 41
In Today’s Lecture, We …
Became familiar with the concept of algorithms:
42
Next Lecture: Algorithms II
• We will continue our discussion on algorithms
during the next lecture