public class

DepthLimitedSearch

extends Algorithm<A, S, N extends Node<A, S, N>>
java.lang.Object
   ↳ es.usc.citius.hipster.algorithm.Algorithm<A, S, N extends es.usc.citius.hipster.model.Node<A, S, N>>
     ↳ es.usc.citius.hipster.algorithm.DepthLimitedSearch<A, S, N extends es.usc.citius.hipster.model.Node<A, S, N>>

Class Overview

Copyright 2015 Centro de Investigación en Tecnoloxías da Información (CITIUS), University of Santiago de Compostela (USC). Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

In computer science maximumDepth-limited search is an algorithm to explore the vertices of a graph. It is a modification of maximumDepth-first search and is used for example in the iterative deepening maximumDepth-first search algorithm.

For more information see this article of the Wikipedia about DLS.

Summary

Fields
protected int currentDepth
protected N extends Node<A, S, N> finalNode
protected N extends Node<A, S, N> initialNode
protected int maximumDepth
protected NodeExpander nodeExpander
protected ArrayList<S> path
Public Constructors
DepthLimitedSearch(N initialNode, N finalNode, NodeExpander nodeExpander, int maximumDepth)
Public Methods
boolean execute()
int getCurrentDepth()
int getMaximumDepth()
ArrayList<S> getPath()
void incrementCurrentDepth()
Iterator<N> iterator()
[Expand]
Inherited Methods
From class es.usc.citius.hipster.algorithm.Algorithm
From class java.lang.Object
From interface java.lang.Iterable

Fields

protected int currentDepth

protected N extends Node<A, S, N> finalNode

protected N extends Node<A, S, N> initialNode

protected int maximumDepth

protected NodeExpander nodeExpander

protected ArrayList<S> path

Public Constructors

public DepthLimitedSearch (N initialNode, N finalNode, NodeExpander nodeExpander, int maximumDepth)

Public Methods

public boolean execute ()

public int getCurrentDepth ()

public int getMaximumDepth ()

public ArrayList<S> getPath ()

public void incrementCurrentDepth ()

public Iterator<N> iterator ()