ladders


ladders, a C code which transforms one five letter word into another, by changing one letter at a time, using only legitimate English words. This puzzle was invented by Lewis Carroll, who called it "Doublets", but it is also known as "Word Ladders" or "Word Golf". The code is by Donald Knuth, as part of his "Stanford Graph Base".

The source code, with a ".w" extension, is written in Knuth's peculiar "literate programming" format, which must be translated into C before compilation. This web page presents just the C code, to which some minor changes have been made to decrease compiler warnings.

The executable program relies on access to "words.dat", a data file of 5-letter words. The list includes not just the words, but also some other internal markings used by the program so that it can prefer more common words, if possible.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

ladders is available in a C version.

Related Data and Programs:

anagram, a C++ code which determines anagrams of a string, by James Cherry;

life_opengl, a C code which uses OpenGL to display the evolution of John Conway's "Game of Life", by Simon Green.

lights_out_opengl, a C++ code which sets up a "Lights Out" game and allows the user to solve it, using the OpenGL graphics window.

sgb, a dataset directory which contains files used as input data for demonstrations and tests of Donald Knuth's Stanford Graph Base.

subanagram, a Fortran90 code which finds words which are anagrams formed from some of the letters of a given master word.

sudoku, a MATLAB code which manipulates and solves Sudoku problems.

words, a dataset directory which contains lists of words.

wordsnake, a Fortran90 code which rearranges a list of words so that they have maximum overlap;

Reference:

  1. Charles Lutwidge Dodgson,
    Doublets,
    1879.
  2. Donald Knuth,
    The Stanford Graph Base,
    ACM Press, 1993.

Source Code:


Last revised on 17 June 2024.