Here (scroll down) are the encounter tables for Headbutt on Route 47. As the tables show, only trees that spit out Metapod/Kakuna or Butterfree/Beedrill can also spawn Heracross, so just find a tree that spawns those Pokemon and headbutt it repeatedly until you get Heracross.
We can't give show you a specific tree to use because which trees have which encounter table is random, based on your TID/SID. Just keep trying each tree and skip every one that a) doesn't give you an encounter or b) gives you a Pokemon that I didn't name above.
You can also read that Bulbapedia page above for places where Heracross has a higher encounter rate, but 20% on Route 47 is perfectly fine.