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

2. ► Dijkstra’s algorithm makes greedy choice

3. ► For overlapping optimal substructure, dynamic programming gives optimal solution

4. ► Dynamic programming makes use of previously calculated solution

5. ► Greedy algorithm doesn’t guarantee global optimal

6. ► Dynamic programming also follows divide and conquer approach

7. ► Dynamic programming works in the top down manner

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

9. ► Heuristics are based on proper mathematical proofs

10. ► Greedy algorithms always select local best possible solution

11. ► Only mobility based heuristic can be applied in list scheduling

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

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

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

15. ► Heuristic solutions can provide reasonable solutions quite fast