Packages

  • package root
    Definition Classes
    root
  • object NQueens

    Problem: Place N queens on a board so no queen threatens another.

    Problem: Place N queens on a board so no queen threatens another.

    _|_|_|_|_|Q|_|_
    _|_|_|Q|_|_|_|_
    _|_|_|_|_|_|Q|_
    Q|_|_|_|_|_|_|_
    _|_|_|_|_|_|_|Q
    _|Q|_|_|_|_|_|_
    _|_|_|_|Q|_|_|_
    _|_|Q|_|_|_|_|_
    

    The queens can't occupy the same row, column or diagonal.

    Example:

    NQueens.solve(8)

    A brute-force heuristic is used to search the possibilities. Complexity severely limits the capability to solve bases larger than 13.

    Definition Classes
    root
o

NQueens

object NQueens

Problem: Place N queens on a board so no queen threatens another.

_|_|_|_|_|Q|_|_
_|_|_|Q|_|_|_|_
_|_|_|_|_|_|Q|_
Q|_|_|_|_|_|_|_
_|_|_|_|_|_|_|Q
_|Q|_|_|_|_|_|_
_|_|_|_|Q|_|_|_
_|_|Q|_|_|_|_|_

The queens can't occupy the same row, column or diagonal.

Example:

NQueens.solve(8)

A brute-force heuristic is used to search the possibilities. Complexity severely limits the capability to solve bases larger than 13.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NQueens
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws(classOf[java.lang.CloneNotSupportedException])
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. def solve(n: Int): Iterator[Seq[Int]]

    Solve N-queens for n.

    Solve N-queens for n.

    Generates all permutations of the distinct range 0 to n, or n!.

    1. For 8 queens, there are 40,320 cases.
    2. For 10 queens,there are 3,628,800 values.
    3. For 12 queens, there are 479,001,600 values.
    4. For 13 queens, there are 6,227,020,800 values.
    n

    Number of queens

    returns

    Solutions

    Exceptions thrown

    java.lang.IllegalArgumentException When n less than zero

  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws(classOf[java.lang.InterruptedException])

Inherited from AnyRef

Inherited from Any

Ungrouped