Hacker News new | past | comments | ask | show | jobs | submit login
Dancing Links (A very useful hack by Knuth) (wikipedia.org)
21 points by mahmud on June 1, 2010 | hide | past | favorite | 7 comments



Cool, this.

A very nifty (if somewhat detailed) complexity analysis of the Algorithm X appeared in blogosphere's festschrift for Knuth's 70, http://11011110.livejournal.com/128249.html

I've used P159 in my absolutely first assignment in the intro programming class. I was to make a N-queens solver. The assignment obviously asked for a 8-line backtracking program. But I was naïve. I went to the library and turned it inside out. My solution was ca. 500 lines, and also implemented a way to find the number of solutions without computing them (this was from IIRC a paper by Rivin), and had a randomized mode which would find just a single solution but for fast for very large N (this I found in Norvig's AIMA in a footnote referencing a paper by J.M., I don't remember the page or the full name)). Good times.


Maybe it's obvious to some, but not to me: what are some applications of algorithm X?


One easy example that is hinted at on the Wikipedia page is solving Sudoku problems. You can read more here: http://www.ocf.berkeley.edu/~jchu/publicportal/sudoku/sudoku...


I am using it for GUI layout management. jquery based. still hacking on it though.


How are you coming up with the constraints and what fills what needs ?


I once used this algorithm to solve a word box puzzle: given a dictionary of words, construct the largest possible square of characters where every row and every column in the square forms a word drawn from the dictionary.


I saw this here earlier.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: