I would suggest doing it on your own at first, for a few reasons. First of all, you will get a better sense of the work that needs to be done, and how to evaluate any companies you may chose to work with down the road. Second of all, there are some free opportunities that you may as well take advantage of before you start paying other people.
First off, I would suggest signing up for, and using your free Google AdWords credits to promote your site and help get your name out there. They often give away $50-$100 credits for new AdWords accounts. I've seen them go as high as $250 if you deposit $50 into your account. There are tons of tutorials out there to show you how to get started with AdWords. Google's own AdWords blog also has a wealth of information.
Secondly, I would consider investing in a program that will help you organize, execute, and track your SEO efforts. Something like SEO Powersuite can do this all for you. It will walk you through all the steps and help you get into a routine.
Anyone that is going to offer you inexpensive SEO services is basically just going to do some of the things suggested in programs like SEO PowerSuite and other comparable apps. The more comprehensive services are going to cost much more.