Is it necessary to purchase train tickets from Edinburgh to Inverness in advance? I am traveling the first week of May.
You will usually save some money by purchasing in advance. But I often don't. Here's the link to Scotrail where you can experiment on the pricing.
The cheapest Advance ticket prices start at 11.30 pounds each way, but the Any Time fare tops out at 41 pounds each way in 2nd class. If you need any other significant train travel, then a railpass is a flexible option, since reservations are not required.
It is worth going to the ScotRail website and look at train times and costs. I took the train with my family from Inverness to Edinburgh. For some reason, the two trains (one hour before and one hour after) ours were a lot more expensive. I guess there were fewer passengers booking at a particular train time. The cost was significant and for us a no-brainer. We simply booked the train time that was about 1 hour earlier than we were planning because of the large cost savings. So, you may want to look more closely at this.
I don't have LOTS of experience booking tickets in the UK, but I've used http://www.thetrainline.com with booking from Blackpool to Glasgow. Was quite reasonable for last minute tickets.
Necessary? Maybe not. Looking for this coming Tuesday, I see plenty of trains available, some even for £11.30 (though you have to like the time to get that price, one is 6:30am :-) Booking in advance can allow for savings, and probably more train time choices (a fast check for beginning of May shows more time options for the £11.30, yes).
Like Pam, I've also used the ScotRail site (no booking fee), http://www.scotrail.co.uk/ After your purchase, then you can do a seat reservation. Reservations are free and allow you to indicate preferences, such as facing forward (that helps me with the train motion).
Do remember to bring the credit card with you that you use to purchase the ticket to get it from the station machine. When I did a trip from Edinburgh to Stonehaven, then Stonehaven to Glasgow, I set my purchase to pick up all the tickets at Edinburgh. I wanted a station with people at hand to help, if needed. The system was set to double check if I realized I was getting tickets at a location other than where I'd get on the train, but does allow it.