You're not asking them to have something to do with you. Just let them know you recognize what you did was shitty and apologize. They can make the decision whether they want anything to do with you after that but at least you'll have done something good.
1) you can trust that they're happy not speaking to you, and trust that they will get over whatever happened in time. In this case, you needn't contact them at all.
2) if you think they would appreciate the closure or gesture of an apology, you could offer them one and state that you have (or are trying) to change.
You shouldn't expect anything to go back to how it was before, or expect them to want anything to do with you in future, but that isn't (or shouldn't) be why you do it. You should do it to square things with your own conscience, and so you can say to yourself - "I can't change the past, it will be with me forever - but I've done what I can". Whether its option 1 or 2, you need to move on.
If you're a good person, and you want to be a good person, others will gravitate to you. You will form new relationships and friendships, and begin to write a new story with your life - a story that shows the lessons of the past have been learned - and you will be able to be proud of yourself and let go of this guilt.