I have not looked over the Havel-Hakimi algorithm yet, but here's the best way I've found to solve these (with 100% success rate so far)<p>1. Pick the node with the highest degree
2. Make all the connections for that node until it has a value of zero by connecting it with the highest-value node that it isn't already connected to<p>For example, in this scenario: <a href="http://i.imgur.com/O8MlWzz.png" rel="nofollow">http://i.imgur.com/O8MlWzz.png</a><p>The way that I see it is that since the highest-degree node needs to make X number of connections, ensure it can make all of those connections before worrying about anything else. In this case, that means start by connecting the 4 to the next highest value node - the 3, then the 2, then the other 2, then the 1.<p>This leaves the following situation: <a href="http://i.imgur.com/9vZjafr.png" rel="nofollow">http://i.imgur.com/9vZjafr.png</a><p>It's kind of easy to see where it goes from there. Sure this is a simple example, but as I said it's worked 100% of the time I've tried it.