Skip to content
0:00 / 0:00

#dancinglinks#donaldknuth#exactcover

Stanford Lecture: Don Knuth—"Dancing Links" (2018)

Stanford Online

1.3M subscribers • 35 videos on Hallway • University channel

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Donald Knuth, Professor Emeritus at Stanford University

Advanced. Deep dive for people who know the field.

48K views7 years ago1 recommendation

Computer scienceAlgorithmsData structuresComputation and complexity

Donald Knuth explains the dancing links data structure and its application to solving exact cover problems efficiently.

Donald Knuth's 24th Annual Christmas Lecture: Dancing Links Donald Knuth, Professor Emeritus 2018 A simple data-structuring idea called “dancing links” has proved to be surprisingly effective. It has also led to a new class of combinatorial problems, “exact covering with color controls” (or XCC for short), which appears to be quite important. The speaker will explain the basic algorithms and will illustrate them with solutions to dozens of XCC problems that have arisen in a wide variety of applications. Compare this talk to Knuth's 2000 lecture on Dancing Links: youtube.com/watch?v=R9gRLnddOBg&feature=youtu.be Professor Knuth is the Professor Emeritus of the Art of Computer Programming at Stanford University. Dr. Knuth's classic programming texts include his seminal work The Art of Computer Programming, Volumes 1-3, widely considered to be among the best scientific writings of the century.

Why it's here

1 person recommends this

What people say. Recommended as the definitive explanation of the dancing links algorithm for solving combinatorial puzzles like Sudoku.

u/bleachisbackin r/rust • Recommends

On “Sudoku solver and generator in rust”

You should consider using something like dancing links to generate and solve your puzzles. Your implementation has one major problem right now: your generator can actually generate non-valid puzzles. An important rule for sudoku puzzles to be valid is that they must admit a unique solution. You’re currently brute forcing your solution, so you find the “first” solution and ignore any other ones. As well, your brute force solution idea will be fine for the most part, but if you ever add the feature for people to manually put in their own puzzles, I’d be able to create an initial puzzle that forced someone’s computer to go through every possibility, and DOS a core on their computer for a whi…