My now 11 year old son was exactly the same way from the time he was very little. He ran into people with such force he caught them off balance. He knocked kids over on a regular basis. We worked with him for a long time and finally came up with the term power hug. He finally learned that it is ok to give hugs, but only if the other party gives permission. We taught him that he must ask the other party if it was ok to give them a hug. I had to closely monitor that situation for quite a while and continually remind him that he must ask if it was ok. With continued reinforcement, he did learn. He would ask each and every person if it was ok for him to give them a hug. Most kids, peers, etc., gave him the stink eye and said no. He learned to deal with the it.
We discovered that our son needed physical touch to connect with other people. He wasn't able to make a connection with someone with eye contact alone. For him, we learned later, it was a clue as to some other issues that he must deal with every day.
I'm not suggesting your daughter has any outside issues, it was just a clue for us, but we didn't recognize it as a clue until much later.
She will learn to control that impulse, help her on this one. Teach her to ask permission to touch others in whatever way she will connect with. Stay close by, on the sidelines, not to hover but to monitor and step in for a reminder when needed. This will help her self esteem. You'll be there as a rescue net before she gets her feelings hurt, and give her the time she needs to learn that impulse control.
My son outgrew that need to hug/touch every person he was around. He's still a very affectionate child, but has learned new coping skills and new ways to connect to other people without the physical touch.
Good luck! G.