NP
it is not Non-polynomial! It is Nondeterministic polynomial!
Definition
It can be defined in two ways:
Nondeterministic TM
All languages that can be decided in Polynomial time using a Nondeterministic Turing Machine
Just memorize it and know that such definition exists. useless otherwise.
Polytime verifier
All languages that have a Certificate (of Polynomial length) which can be verified in Polynomial time.
Set of all problems for which you can check the correctness of an answer in Polynomial time