In all fairness, I believe Hamlet was being cautious in his judgment of whether or not his Uncle Claudius killed his father or not. It is wise to not make assumptions, especially in a case such as this. To accuse someone of murder is quite serious. It should not be done so lightly.
While some critics may argue that Hamlet was inactive, I would say he was making sure his questions were answered with sufficient eveidence. That is why he reenacted his father's murderous scene. He was searching for signs of guilt from his Uncle Cladius.
Tragically, during his effecient search for evidence of his father's murderer, Hamlet's Uncle Claudius becomes aware that Hamlet suspects him as the murderer. By this point, Claudius is making plans to have Hamlet killed as well.
If there is a weakness or tragic flaw in Hamlet's character, it would be that he wanted to be certain his father's murderer. I believe this is a a good quality that cost Hamlet his life.