A Visão Geral do Problema P vs NP e as Classes de Complexidade: Explicação do Problema do Prêmio Millennium e o seu Significado na Programação