Czech railways have affordable prices, as well as the major coach companies. There’s a fairly good page you can use to look up connections (both for public transport in Czech cities and for long distance connections:
Several other links and pieces of advice that might be helpful:
Student Agency (Regiojet) : The CZ biggest private train and coach company, also very useful for international connections; it’s usually easier to buy tickets online.
Czech Railways : Tickets can be bought both online and at the train stations.
The system of public transport in Brno is very convenient. There are trams, buses and trolleybuses. During the night, you can rely on the network of night buses departing every hour (or even more often during week-end and holiday nights).
Tickets can be bought in tobacco shops, newsagents and also at the train station. There are ticket machines at most stops (they only accept coins, no banknotes or cards). You can also buy tickets in the vehicle directly, but they are more expensive there (and most drivers probably won’t speak English). You need to mark the ticket once you enter the vehicle (they are valid for a certain amount of time). Therefore, you can buy tickets in advance. There’s a very useful option that can be used gradually, but also for multiple people at the same time – the “Multiple ticket”.