As a rule, "no" negates a noun, and "not", as an adverb, negates a verb, adjective, or adverb.
PS. There are some tricky situations, such as "no good"/"not good". Remember that "good" can be both a noun and an adjective. If in doubt, and unless the word is a clear noun, "not" is safe: "not good" is the more polished language.