"In the original games, Gold & Silver, there were a variety of small trees dotted around Kanto & Johto in which you can use the move Headbutt to shake the tree and a wild Pokémon may come out. This makes a return in HeartGold & SoulSilver. However, it returns with a change.
In these games, every single tree is a prospective Headbutt Tree. However, if you headbutt a tree and it does not cause a wild Pokémon to attack, then this tree will never have any Pokémon on it. If the tree does have a Pokémon come out, this tree will always have a wild Pokémon encounter when you headbutt it"
Serebii.net