My youngest daughter (Age 4) sounds a lot like your almost 3 year old although I can tell you right now it gets much better as long as you talk to your child about it OFTEN and make a strong effort to alter her behavior.
This is what I do when we are with other children, mom's, or playmates and it has worked for us. Hopefully it will help you!
The first thing I do BEFORE we go anywhere, is talk to both of my kids about how to play with others (even though my six year old has never been violent at all and has always played well with others- I just want to make sure the rules are EQUAL for everyone and no one feels left out of the lecture lol)
I always WARN other parents about her strength, especially if there are little ones, so they too know what to expect and aren't shocked if my kid decides to go bonkers (although she doesn't really do that anymore). At the 1st sign of shoving/pushing/attitude, she gets taken OUT of play, no excuses or sorry's or crying. I just don't care, you can't play nice, then you can't play at all. We talk A LOT about safety, and lots of the things we did was ask her if she really wanted to hurt someone and she always says NO WAY and even cries at the thought she might actually hurt someone because we have instilled that hurting people is BAD and that she could accidentally cause permanent damage. The other problem we have with her is that she LOVES you to death. Meaning, that when she hugs you or kisses you she is totally brutal, so we have made sure to constantly remind her to be soft and gentle, especially with animals and small children because they can get hurt easily and then we PRACTICE being gentle.
Also, she has been taught that when she feels someone is being unfair to talk to an adult instead of trying to beat the child that took her toy or shoving back someone that shoved her first because she really is stronger than other kids (or maybe just more passionate hahaha) and that she might really hurt them if she retaliates -- or of course, simply stop playing with that particular child.
We no longer have any issues with her playing with other children her age or older, although I do still hover if there are smaller children and make absolute sure that she is reminded BEFORE touching or going near a small child or animal just in case she decides to revert. I hope this helps, it has to be done constantly, and I mean every day. We also used stuffed animals and baby-dolls to train her on how to handle, touch, pet, and properly interact/care for baby so that she does not HURT them and properly reward her and praise her for good behavior and adequate handling of pets and children. This motivates her and makes her feel important and good.
As your daughter matures and starts to realize that hitting/shoving/violence is bad -- especially once she grasps that the doctor can't fix everything! I hated having to talk to my children about permanent damage from accidents but I feel it's necessary that they grasp that not everything is going to go away with a kiss and a band-aid and that safety IS necessary. Once my daughter understood that and we worked on her behavior things got much better FAST. I hope this helps, really! Don't be too hard on yourself, you haven't done anything wrong, some kids just need different lessons than others.
Lots of hugs!