Approach to determining if a graph is planar by inspection/Kuratowski's theorem I'm taking an intro discrete math course and am having trouble determining if a graph is planar or not. 
When proving a graph is planar, if Euler's formula doesn't apply I just randomly redraw the graph hoping I find a planar representation. This works for simple graphs but when the graphs are really tangled it ends up taking me way too long 
I'm also spending way to long trying to find the elementary subdivisions to prove a graph is homeomorphic to $K_{3,3}$ or $K_5$ when using Kuratowski's theorem to disprove planarity.
My professor's advice is to pretty much brute force these problems. How should I go about approaching these questions so that I can finish them in a reasonable time on an exam?
 A: You should be able to do much better than randomly redrawing; for instance, if $|E(G)|$ is just less than $3|V(G)|-6$ then you know most faces are triangles and you can start by picking out triangles and piecing the graph together.
There is an algorithm which works fairly well and quickly to find a planar embedding of the graph if one exists. Basically you take a large circuit in the graph, draw it in a new colour (or thick bold lines) and gradually add edges or paths to it only when there is only one face in which they have to fit. I describe this in a bit more detail in my course notes on page 20.
Here's the picture from there:

You can see that $B_1$ and $B_3$ can fit in faces either inside or outside of the bold edges, but $B_2$ can only fit outside. So you choose a path joining two vertices from the bold graph and make a path through $B_2$ with them bold. You can then repeat this procedure but it usually becomes clear where things have to go.
If you follow this and get to an impossible situation then it is likely that you have a non-planar graph and you can use the edges that are forced to cross to start trying to make a $K_{3,3}$...
