Algorithm
Development Kit 1.0

algs.model.searchtree
Class BreadthFirstSearch

java.lang.Object
  extended by algs.model.searchtree.BreadthFirstSearch
All Implemented Interfaces:
ISearch

public class BreadthFirstSearch
extends java.lang.Object
implements ISearch

Given an initial state and a target goal state, expand in breadth-first manner all available moves until the target goal state is reached.

This search approach is guaranteed to find the shortest possible path to the goal state, should one exist.

Since:
1.0
Version:
1.0, 6/15/08
Author:
George Heineman

Field Summary
 int numClosed
           
 int numMoves
           
 int numOpen
           
 
Constructor Summary
BreadthFirstSearch()
           
 
Method Summary
 Solution search(INode initial, INode goal)
          Initiate the search for the target state.
 void storageType(int type)
          Determine structure to use for storing CLOSED set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

numMoves

public int numMoves

numOpen

public int numOpen

numClosed

public int numClosed
Constructor Detail

BreadthFirstSearch

public BreadthFirstSearch()
Method Detail

storageType

public void storageType(int type)
Determine structure to use for storing CLOSED set.


search

public Solution search(INode initial,
                       INode goal)
Initiate the search for the target state.

Specified by:
search in interface ISearch
Parameters:
initial - the initial board state
goal - the final board state

Algorithm Development Kit 1.0

This code supports the Algorithms in a Nutshell book, published by O'Reilly Media, Inc. in November 2008. Please visit the book web page to learn of any changes to the code repository or to record a potential defect.