[[Donald Knuth]]'s main purpose in describing Algorithm X was to demonstrate the utility of [[Dancingdancing Linkslinks]]. Knuth showed that Algorithm X can be implemented efficiently on a computer using [[Dancingdancing Links]]links in a process Knuth calls ''"DLX"''. DLX uses the matrix representation of the [[exact cover]] problem, implemented as [[doubly linked list]]s of the 1s of the matrix: each 1 element has a link to the next 1 above, below, to the left, and to the right of itself. (Technically, because the lists are circular, this forms a [[torus]]). Because exact cover problems tend to be sparse, this representation is usually much more efficient in both size and processing time required. DLX then uses [[Dancingdancing Links]]links to quickly select permutations of rows as possible solutions and to efficiently backtrack (undo) mistaken guesses.<ref name="knuth" />