This project has programming implementation of the knapsack problem as "recursive approach", "Caching approach", "Dynamic programming approach" and "linear scanning approach". It also has empirical analysis of all of the approach