Which of the following techniques are used for optimization?
Dynamic programming
Cyclic coding
Huffmann coding
Greedy algorithm.