Algorithm
Development Kit 1.0

Packages
algs.debug Defines core abstractions for generating visualizations to track the progress of an algorithm.
algs.debug.drawers Defines core drawing classes for the DOTTY output.
algs.model Defines a set of interfaces for core entities used by various algorithms.
algs.model.array Defines commonly shared functionality for computations over arrays.
algs.model.data Defines commonly functionality for generating random samples of data
algs.model.data.circles Generator for creating random circles.
algs.model.data.nd Generators that construct n dimensional data sets.
algs.model.data.points Generators for creating random points according to a variety of distributions.
algs.model.data.segments Generators for creating random line segments according to a variety of distributions.
algs.model.gametree Core set of classes and interfaces to support Game Trees.
algs.model.gametree.debug Core set of classes for visualizing the progress of a game tree search algorithm.
algs.model.heap Core set of classes to implement Binary Heaps.
algs.model.interval Defines the Segment Tree, a data structure for maintaining sets of Intervals within a closed integer domain.
algs.model.kdtree Defines the K-dimensional Tree and the optimized TwoDTree variation.
algs.model.list Defines commonly shared functionality for maintaining linked lists.
algs.model.nd Defines classes to represent n-dimensional points and n-dimensional regions called hypercubes.
algs.model.network Defines classes to represent Flow Network algorithms.
algs.model.network.debug Defines classes for producing visualization of Flow Network problems.
algs.model.network.matching Defines classes to show how to convert a Matching problem into a Flow Network problem.
algs.model.problems Defines a set of benchmark problems exercising the algs.model package.
algs.model.problems.convexhull Defines core classes for the Convex Hull problem.
algs.model.problems.convexhull.andrew Defines solution to the Convex Hull problem proposed by Andrew, which is a ConvexHullScan.
algs.model.problems.convexhull.balanced Defines solution to the Convex Hull problem proposed by Andrew which uses balanced binary trees to store the partial hulls, rather than linked lists.
algs.model.problems.convexhull.bucket Defines solution to the Convex Hull problem which uses BucketSort to sort the points prior to invoking Andrew's algorithm.
algs.model.problems.convexhull.heap Defines solution to the Convex Hull problem proposed by Andrew which uses HeapSort to sort the initial data set rather than QuickSort.
algs.model.problems.convexhull.slowhull Defines solution to the Convex Hull problem that relies on a Brute Force n^4 algorithm to check each potential triangle and removes points that fall within the triangle.
algs.model.problems.eightpuzzle Defines the Game Tree example implementing the EightPuzzle, the canonical example used throughout the Path Finding chapter to show how A*star search works.
algs.model.problems.fifteenpuzzle Defines the Game Tree example implementing the FifteenPuzzle.
algs.model.problems.nearestNeighbor Defines the Brute Force Nearest Neighbor implementation to be used as a benchmark when comparing the kd-tree implementation.
algs.model.problems.rangeQuery Defines the Brute Force Range Query implementation to be used as a benchmark when comparing the kd-tree implementation.
algs.model.problems.segmentIntersection Defines the classes needed to implement the LineSweep algorithm.
algs.model.problems.segmentIntersection.linkedlist Defines the classes needed to implement the LineSweep algorithm using double-linked lists to store the LineState.
algs.model.problems.segmentIntersection.priorityqueue Defines the classes needed to implement the event queue using a priority queue that does not support searching.
algs.model.problems.tictactoe.debug Defines the classes needed to properly generate debugging images for the searches performed over TicTacToe boards.
algs.model.problems.tictactoe.model Entities required to properly play a variety of TicTacToe games.
algs.model.search Defines classes to support a variety of Search algorithms.
algs.model.searchtree Core set of classes to support Search Trees.
algs.model.searchtree.debug Defines classes to support the debugging of search tree algorithms.
algs.model.searchtree.states Defines classes that implement the INodeSet interface in different ways.
algs.model.tests.common Provides classes to properly assess the performance of the algorithms.
algs.model.tree Provides implementations of binary trees and right-threaded binary trees.
algs.model.tree.debug Defines classes to properly debug the structure of binary trees and balanced binary trees.
algs.model.twod Provides core implementations of the most common two-dimensional abstractions, such as points, lines and rectangles.

 


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.