You are on page 1of 4

Fundamentals of Algorithmic

Problem Solving

CSC 3102 2.1 B.B. Karki, LSU

Algorithmic Design and Analysis Process
Understand the problem
 One should go
through a sequence
of interrelated Decide on:
actions (steps) in computational devices;
designing and exact vs approx. solving;
analyzing an data structure;
algorithm design technique
 A creative

 A good algorithm is Design an algorithm

usually a result of
repeated efforts and
rework Prove correctness

Analyze the algorithm

Code the algorithm

CSC 3102 2.2 B.B. Karki, LSU
Sequence of Steps

 Understand completely the problem: Do some examples by hand, think about

special cases, ask questions if needed. May be you can use a known
algorithm for solving it.

 Ascertaining the capabilities of a computational device: Sequential (serial)

algorithms versus parallel algorithms.

 Choosing between exact and approximate problem solving: Exactly

unsolvable problem or slow exact algorithm.

 Deciding on appropriate data structures: Structuring or restructuring data

specifying a problem’s instance is important.

CSC 3102 2.3 B.B. Karki, LSU

Sequence of Steps (Contd.)

 Algorithm design techniques: Select a general approach to solving problem


 Methods of specifying an algorithm: Pseudocode is a mixture of a natural

language and a programming language-like constructs.

 Providing an algorithm’s correctness: Use mathematic induction considering

selected inputs.

 Analyzing an algorithm: Time and space efficiencies; and simplicity and


 Coding an algorithm: Implement it as computer program with test and

debugging for its validation.

CSC 3102 2.4 B.B. Karki, LSU