logical serial or parallel deterministic versus nondeterministic algorithms classification by complexity complexity curves classification by design divide and conquer dynamic programming greedy algorithms technical implementation dynamic programming memoization tabulation the fibonacci series the memoization technique the tabulation technique divide and conquer divide conquer merge merge sort greedy algorithms coin-counting problem dijkstra' shortest path algorithm complexity classes versus np np-hard np-complete summary implementationsapplicationsand tools tools of the trade data preprocessing why process raw datamissing data feature scaling min-max scalar standard scalar binarizing data machine learning types of machine learning hello classifier supervised learning example vi