np-hard problem is np-hard if all other problems in np can be polynomial time reducible or mapped to it np-complete problem is considered an np-complete problem if it is first of all an np hard and is also found in the np class summary in this last we looked at the theories that support the computer science field without the use of too much mathematical rigorwe saw some of the main categories into which algorithms are classified other design techniques in the fieldsuch as the divide and conquerdynamic programmingand greedy algorithmswere also discussedalong with sample implementations lastlyone of the outstanding problems yet to be solved in the field of mathematics was tackled we saw how the proof for npwill definitely be game-changer in number of fieldsif such proof is ever discovered