CMP507 Data Structure and Algorithm in C Note #3 Dr. Peter Wang 1. Algorithm means a precise method useable by a computer for the solution of a problem. An algorithm must: a. definite, means that it must be perfectly clear what should be done. b. effective: each step must be such that it can be done by a person using pencil and paper in a finite amount of time. c. produces one or more output. d. may have zero or more inputs which are externally supplied. e. terminates after a finite number of operations. 2. Algorithm strategies: a. Divide and Conquer (DANDC) b. Greedy Method (GM) c. Dynamic Programming (DP) d. Backtracking (BT) e. Branch and Bound (BB) f. Intuitive (Common Sense) g. Heuristic 3. Divide and Conquer: Given a function to compute on n inputs, teh DANDC strategy suggests split the inputs into K distinct subsets, 1