Prague Budapest Vienna Salzburg Geneva

Hi all, Im new to the forum and Im planning my first ever Europe trip. Hope you can help me with my queries. I am going on an 18-day trip. I plan to fly from London to prague then make my way to Geneva. Is the following the best route? London-Prague-Budapest-Vienna-Salzburg-Geneva? I have roughly made my tentative itinerary. May 1-4 Prague 4-6-Budapest 6-8 Vienna 8-12 Salzburg and hallstatt (visiting a friend) Night train to Geneva
13-18 Geneva and nearby towns. I am flying out of Geneva on the 18th. Is the above the best route? Any advice will be greatly appreciated.