A good algorithm is: design an algorithm Prove correctness Analyze the algorithm Code the algorithm usually a result of repeated efforts and rework. Choosing between exact and approximate problem solving: Exactly unsolvable problem or slow exact algorithm. Providing an algorithm's correctness: use mathematic induction considering selected inputs.
A good algorithm is: design an algorithm Prove correctness Analyze the algorithm Code the algorithm usually a result of repeated efforts and rework. Choosing between exact and approximate problem solving: Exactly unsolvable problem or slow exact algorithm. Providing an algorithm's correctness: use mathematic induction considering selected inputs.
A good algorithm is: design an algorithm Prove correctness Analyze the algorithm Code the algorithm usually a result of repeated efforts and rework. Choosing between exact and approximate problem solving: Exactly unsolvable problem or slow exact algorithm. Providing an algorithm's correctness: use mathematic induction considering selected inputs.
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 algorithm design technique A creative activity
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
algorithmically.
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
generality
Coding an algorithm: Implement it as computer program with test and