For more information algorithms-npcomplete algorithms-greedy algorithms-graphs-data-structure algorithms-divide-conquer