package knights_tour

  1. Overview
  2. Docs
Solves the 'Knights Tour' and various 'Poyomino' puzzles

Install

Dune Dependency

Authors

Maintainers

Sources

knights_tour-0.0.5.tbz
sha256=470c6d1b00b68b3bb6ba38a422a4698350564d803e20e7a7627245a253a7c890
sha512=0548d3c90c25e1dd442b43857d62aac19c98f676fedc344071635bc3ce680543fad3998a8b79fa77d6df3726c85fcf7fe14d692e3c30e5485f91f953f020cd74

doc/knights_tour.searchspace/Searchspace/Treequence/index.html

Module Searchspace.TreequenceSource

A Treequence is 'pure/functional' data structure that represents a finite, ordered sequence of elements. I.e it is much like a list. Unlike a typical list implementation it supports efficient pushing and popping on both the front and back. Thus it can be used interchangeably as a Stack or a Queue without much of a performance penalty.

Sourcetype 'a t

A 'a t is a Treequence containing elements of type 'a.

Sourceval empty : 'a t

An empty Treequence, contains no elements.

Sourceval is_empty : 'a t -> bool

is_empty t is true iff there are no elements in t.

Sourceval map : ('a -> 'b) -> 'a t -> 'b t

map f t applies a function to each element of t, creating a new Treequence with the results.

Sourceval singleton : 'a -> 'a t

Creates a Treequence containing a single element.

Sourceval size : 'a t -> int

size t returns the number of elements in t. This operation is O(1).

Sourceval push : 'a -> 'a t -> 'a t

push el t Adds an element to the front of t.

Sourceval pop : 'a t -> ('a * 'a t) option

pop el t Removes an element from the front of t.

Sourceval push_end : 'a -> 'a t -> 'a t

push_end el t Adds an element to the end of t.

Sourceval pop_end : 'a t -> ('a * 'a t) option

pop_end el t Removes an element from the end of t.

Sourceval append : 'a t -> 'a t -> 'a t

append s1 s2 Creates Treequence that contains all elements of s1 followed by all elements of s2.

Sourceval to_string : ('a -> string) -> 'a t -> string

Converts Treequence into a string revealing its internal structure. Useful for debugging and testing.

OCaml

Innovation. Community. Security.