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.4.tbz
sha256=dbaafd55fab8dd6a693878310c645c402d7c91e05d62819ae7913908ac17cdf1
sha512=e33e38572ba2e42b876915a74f8e9688a84666d61bc94fa2035d16f2fc6d5bf79d6cc5a2ac1a88d1aa28d8878ec035836df2d7919d2fe9dcd133e1259943ecef

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.