1. ► Greedy algorithms always select local best possible solution

2. ► Dijkstra’s algorithm makes greedy choice

3. ► Rabin-Karp algorithm reuses previously calculated hash values

4. ► Approximation algorithms provide bounds on the quality of the solution mathematically

5. ► String matching is quite common in scripting languages

6. ► Heuristic solutions can provide reasonable solutions quite fast

7. ► Graph coloring can be used to solve processor register allocation in compilers

8. ► Greedy algorithm doesn’t guarantee global optimal

9. ► Rabin-Karp algorithm relies on hash function to convert strings to numbers

10. ► Greedy algorithm works in bottom up manner

11. ► Brute force string matching relies on char by char comparison

12. ► Average case complexity of Rabin-Karp is O(nm)

13. ► Which of the following problem does not have exponential complexity

14. ► Dynamic programming also follows divide and conquer approach

15. ► Fibonacci series can be calculated efficiently with dynamic programming