# Hierarchy For All Packages

Package Hierarchies:

- graph.adjacencyarraygraph,
- graph.followerarraygraph,
- graph.graphinterface,
- graph.tasks,
- heap.heap,
- heap.heaparray,
- heap.heapinterface,
- heap.heapshallowarray,
- heap.heaptree,
- heap.heaptreeinterface,
- heap.justifiableheap,
- list.arraylist,
- list.linkedlist,
- list.listinterface,
- searchable.binarysearchtree,
- searchable.hashtable,
- searchable.recursivesearchtree,
- searchable.searchableinterface,
- searchable.searchsequence,
- sequence.basesequence,
- sequence.dualstackqueue,
- sequence.dualstacksequence,
- sequence.queue,
- sequence.sequence,
- sequence.sequenceinterface,
- sequence.stack,
- tree.binarytree,
- tree.binarytreeinterface,
- tree.bisectiontree

## Class Hierarchy

- java.lang.Object
  - sequence.basesequence.AbstractBaseSequence (implements sequence.sequenceinterface.BaseSequence)
    - sequence.queue.RealQueue (implements sequence.sequenceinterface.Queue)
    - sequence.sequence.RealSequence (implements sequence.sequenceinterface.Sequence)
      - sequence.sequence.RealReorganizableSequence (implements sequence.sequenceinterface.ReorganizableSequence)
      - sequence.sequence.RealSortableSequence (implements sequence.sequenceinterface.SortableSequence)
    - sequence.stack.RealStack (implements sequence.sequenceinterface.Stack)
  - graph.adjacencyarraygraph.AdjacencyArrayGraph (implements graph.graphinterface.Graph)
    - graph.adjacencyarraygraph.AdjacencyArrayDirectedGraph (implements graph.graphinterface.DirectedGraph)
      - graph.adjacencyarraygraph.AdjacencyArrayUndirectedGraph (implements graph.graphinterface.UndirectedGraph)
  - graph.adjacencyarraygraph.AdjacencyArrayGraphFactory (implements graph.graphinterface.GraphFactory)
  - graph.adjacencyarraygraph.AdjacencyArrayGraphLatch (implements graph.graphinterface.GraphLatch)
  - list.arraylist.ArrayListFactory (implements list.listinterface.ListFactory)
  - list.arraylist.ArrayListMemberReference (implements list.listinterface.MemberReference)
  - list.listinterface.BaseList (implements list.listinterface.BaseListInterface)
    - list.arraylist.BaseArrayList (implements list.listinterface.BaseListInterface)
      - list.arraylist.LinearArrayList (implements list.listinterface.List, list.listinterface.QueueList, list.listinterface.StackList)
        - list.arraylist.SortableArrayList (implements list.listinterface.List, list.listinterface.QueueList, list.listinterface.SortableList, list.listinterface.StackList)
      - list.arraylist.QueueArrayList (implements list.listinterface.QueueList)
        - list.arraylist.CircularArrayList (implements list.listinterface.List, list.listinterface.StackList)
      - list.arraylist.StackArrayList (implements list.listinterface.StackList)
    - list.linkedlist.BaseLinkedList (implements list.listinterface.BaseListInterface)
      - list.linkedlist.QueueLinkedList (implements list.listinterface.QueueList)
        - list.linkedlist.LinkedList (implements list.listinterface.List, list.listinterface.StackList)
      - list.linkedlist.StackLinkedList (implements list.listinterface.StackList)
    - list.linkedlist.DoublyLinkedList (implements list.listinterface.List, list.listinterface.QueueList, list.listinterface.StackList)
      - list.linkedlist.SortableDoublyLinkedList (implements list.listinterface.List, list.listinterface.QueueList, list.listinterface.SortableList, list.listinterface.StackList)
    - list.linkedlist.LinkedListWithPostponedItem (implements list.listinterface.List, list.listinterface.QueueList, list.listinterface.StackList)
      - list.linkedlist.LinkedListWithTrailer (implements list.listinterface.List, list.listinterface.QueueList, list.listinterface.StackList)
  - searchable.binarysearchtree.BinarySearchTree (implements searchable.searchableinterface.Searchable)
  - searchable.binarysearchtree.BinarySearchTreeFactory (implements searchable.searchableinterface.SearchableFactory)
  - tree.bisectiontree.BisectionTree (implements tree.binarytreeinterface.BinaryTree)
  - tree.bisectiontree.BisectionTreeFactory (implements tree.binarytreeinterface.BinaryTreeFactory)
  - tree.binarytree.BreadthFirstBinaryTreeFactory (implements tree.binarytreeinterface.BinaryTreeFactory)
  - searchable.searchsequence.BubbleSortedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory, searchable.searchableinterface.SearchableWithMedianFactory)
  - list.arraylist.CircularArrayListFactory (implements list.listinterface.ListFactory)
  - searchable.searchsequence.CountingSortedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory, searchable.searchableinterface.SearchableWithMedianFactory)
  - tree.binarytree.DepthFirstBinaryTreeFactory (implements tree.binarytreeinterface.BinaryTreeFactory)
  - graph.tasks.DijkstraShortestPath (implements graph.tasks.ShortestPath)
  - graph.tasks.DijkstraShortestPathFactory (implements graph.tasks.ShortestPathFactory)
  - searchable.searchsequence.DirSelSortedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory, searchable.searchableinterface.SearchableWithMedianFactory)
  - list.linkedlist.DoublyLinkedListFactory (implements list.listinterface.ListFactory)
    - list.linkedlist.SortableDoublyLinkedListFactory (implements list.listinterface.SortableListFactory)
  - list.linkedlist.DoublyLinkedListMember
  - list.linkedlist.DoublyLinkedListMemberReference (implements list.listinterface.MemberReference)
  - sequence.dualstackqueue.DualStackQueue (implements sequence.sequenceinterface.Queue)
  - sequence.dualstackqueue.DualStackQueueFactory (implements sequence.sequenceinterface.QueueFactory)
  - sequence.dualstacksequence.DualStackSequence (implements sequence.sequenceinterface.Sequence)
    - sequence.dualstacksequence.ReorganizableDualStackSequence (implements sequence.sequenceinterface.ReorganizableSequence)
  - sequence.dualstacksequence.DualStackSequenceFactory (implements sequence.sequenceinterface.SequenceFactory, sequence.sequenceinterface.SortableSequenceFactory)
  - list.listinterface.Element
    - graph.adjacencyarraygraph.AdjacencyArrayGraphEdge
    - graph.adjacencyarraygraph.AdjacencyArrayGraphVertex
    - graph.followerarraygraph.FollowerArrayGraphEdge
    - graph.followerarraygraph.FollowerArrayGraphVertex
    - graph.tasks.GraphWrapper
    - tree.binarytree.Latch
    - heap.heaptree.Node
    - searchable.searchableinterface.SearchableElement
      - graph.graphinterface.GraphEdge
        - graph.tasks.GraphTasksEdge
      - graph.graphinterface.GraphVertex
        - graph.tasks.GraphTasksVertex
      - heap.heapinterface.JustifiableHeapElement
        - graph.tasks.DijkstraShortestPath.HeapElement
      - searchable.searchableinterface.SearchableElementWithOrdinalKey
  - graph.tasks.FloydShortestPath (implements graph.tasks.ShortestPath)
  - graph.tasks.FloydShortestPath.record
  - graph.tasks.FloydShortestPathFactory (implements graph.tasks.ShortestPathFactory)
  - graph.followerarraygraph.FollowerArrayGraph (implements graph.graphinterface.Graph)
    - graph.followerarraygraph.FollowerArrayDirectedGraph (implements graph.graphinterface.DirectedGraph)
      - graph.followerarraygraph.FollowerArrayUndirectedGraph (implements graph.graphinterface.UndirectedGraph)
  - graph.followerarraygraph.FollowerArrayGraphFactory (implements graph.graphinterface.GraphFactory)
  - graph.followerarraygraph.FollowerArrayGraphLatch (implements graph.graphinterface.GraphLatch)
  - searchable.binarysearchtree.GetReadableCallBack (implements tree.binarytreeinterface.SearchCallBack)
  - graph.tasks.GraphTasks
    - graph.tasks.DirectedGraphTasks
    - graph.tasks.UndirectedGraphTasks
  - graph.tasks.GraphTasksFactory
  - searchable.hashtable.Hash
  - searchable.hashtable.HashTableExtLinked (implements searchable.searchableinterface.Searchable)
  - searchable.hashtable.HashTableExtLinkedFactory (implements searchable.searchableinterface.SearchableFactory)
  - searchable.hashtable.HashTableIntLinked (implements searchable.searchableinterface.Searchable)
  - searchable.hashtable.HashTableIntLinked.SearchIndex
  - searchable.hashtable.HashTableIntLinkedFactory (implements searchable.searchableinterface.SearchableFactory)
  - heap.heaparray.HeapArray (implements heap.heaptreeinterface.HeapTree)
  - heap.heaparray.HeapArrayFactory (implements heap.heaptreeinterface.HeapTreeFactory)
  - heap.heapshallowarray.HeapShallowArray (implements heap.heaptreeinterface.HeapTree)
  - heap.heapshallowarray.HeapShallowArrayFactory (implements heap.heaptreeinterface.ShallowHeapTreeFactory)
  - searchable.searchsequence.HeapSortedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory, searchable.searchableinterface.SearchableWithMedianFactory)
  - searchable.searchsequence.InsertionSortedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory, searchable.searchableinterface.SearchableWithMedianFactory)
  - list.arraylist.LinearArrayListFactory (implements list.listinterface.ListFactory)
    - list.arraylist.SortableArrayListFactory (implements list.listinterface.SortableListFactory)
  - list.linkedlist.LinkedListFactory (implements list.listinterface.ListFactory)
  - list.linkedlist.LinkedListMember
  - list.linkedlist.LinkedListMemberReference (implements list.listinterface.MemberReference)
  - list.linkedlist.LinkedListWithPostponedItemFactory (implements list.listinterface.ListFactory)
  - list.linkedlist.LinkedListWithTrailerFactory (implements list.listinterface.ListFactory)
  - searchable.searchsequence.MergeSortedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory, searchable.searchableinterface.SearchableWithMedianFactory)
  - tree.binarytree.Node
  - searchable.searchsequence.OrderedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory, searchable.searchableinterface.SearchableWithMedianFactory)
  - searchable.searchsequence.QuickSortedSearchSequence.Parts
  - searchable.searchsequence.QuickSortedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory, searchable.searchableinterface.SearchableWithMedianFactory)
  - tree.binarytree.RealBinaryTree (implements tree.binarytreeinterface.BinaryTree)
    - tree.binarytree.BreadthFirstBinaryTree (implements tree.binarytreeinterface.BinaryTree)
    - tree.binarytree.DepthFirstBinaryTree (implements tree.binarytreeinterface.BinaryTree)
  - tree.binarytree.RealBinaryTreeFactory (implements tree.binarytreeinterface.BinaryTreeFactory)
  - heap.heap.RealHeap (implements heap.heapinterface.Heap)
  - heap.heap.RealHeapFactory (implements heap.heapinterface.HeapFactory)
  - heap.justifiableheap.RealHeapFactory (implements heap.heapinterface.HeapFactory)
  - heap.heaptree.RealHeapTree (implements heap.heaptreeinterface.HeapTree)
  - heap.heaptree.RealHeapTreeFactory (implements heap.heaptreeinterface.HeapTreeFactory)
  - heap.justifiableheap.RealJustifiableHeap (implements heap.heapinterface.Heap, heap.heapinterface.JustifiableHeap)
  - heap.justifiableheap.RealJustifiableHeapFactory (implements heap.heapinterface.JustifiableHeapFactory)
  - sequence.queue.RealQueueFactory (implements sequence.sequenceinterface.QueueFactory)
  - sequence.sequence.RealReorganizableSequenceFactory (implements sequence.sequenceinterface.ReorganizableSequenceFactory)
  - sequence.sequence.RealSequenceFactory (implements sequence.sequenceinterface.SequenceFactory)
  - heap.heap.RealShallowHeapFactory
  - heap.justifiableheap.RealShallowHeapFactory (implements heap.heapinterface.ShallowHeapFactory)
  - sequence.sequence.RealShallowSequence (implements sequence.sequenceinterface.ShallowSequence)
  - sequence.sequence.RealSortableSequenceFactory (implements sequence.sequenceinterface.SortableSequenceFactory)
  - sequence.stack.RealStackFactory (implements sequence.sequenceinterface.StackFactory)
  - searchable.recursivesearchtree.RecursiveAVLTreeFactory (implements searchable.searchableinterface.SearchableFactory)
  - searchable.recursivesearchtree.RecursiveBalancedTreeFactory (implements searchable.searchableinterface.SearchableFactory)
  - searchable.recursivesearchtree.RecursiveSearchTree (implements searchable.searchableinterface.Searchable)
    - searchable.recursivesearchtree.RecursiveAVLTree
    - searchable.recursivesearchtree.RecursiveBalancedTree
  - searchable.recursivesearchtree.RecursiveSearchTreeFactory (implements searchable.searchableinterface.SearchableFactory)
  - searchable.recursivesearchtree.RemoveResult
  - sequence.dualstacksequence.ReorganizableDualStackSequenceFactory (implements sequence.sequenceinterface.ReorganizableSequenceFactory)
  - searchable.searchsequence.ReorganizedSearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory)
  - searchable.searchsequence.SearchSequence (implements searchable.searchableinterface.Searchable)
    - searchable.searchsequence.ReorganizedSearchSequence (implements searchable.searchableinterface.Searchable)
    - searchable.searchsequence.SearchSequenceWithOrderedSelect (implements searchable.searchableinterface.SearchableWithMedian)
      - searchable.searchsequence.OrderedSearchSequence (implements searchable.searchableinterface.Searchable)
      - searchable.searchsequence.SortedSearchSequence (implements searchable.searchableinterface.Searchable)
        - searchable.searchsequence.BubbleSortedSearchSequence (implements searchable.searchableinterface.Searchable)
        - searchable.searchsequence.CountingSortedSearchSequence (implements searchable.searchableinterface.Searchable)
        - searchable.searchsequence.DirSelSortedSearchSequence (implements searchable.searchableinterface.Searchable)
        - searchable.searchsequence.HeapSortedSearchSequence (implements searchable.searchableinterface.Searchable)
        - searchable.searchsequence.InsertionSortedSearchSequence (implements searchable.searchableinterface.Searchable)
        - searchable.searchsequence.MergeSortedSearchSequence (implements searchable.searchableinterface.Searchable)
        - searchable.searchsequence.QuickSortedSearchSequence (implements searchable.searchableinterface.Searchable)
    - searchable.searchsequence.SearchSequenceWithSentinel (implements searchable.searchableinterface.Searchable)
  - searchable.searchsequence.SearchSequenceFactory (implements searchable.searchableinterface.SearchableFactory)
  - searchable.searchsequence.SearchSequenceWithSentinelFactory (implements searchable.searchableinterface.SearchableFactory)
  - list.linkedlist.ShallowDoublyLinkedList (implements list.listinterface.ShallowList)
  - list.arraylist.ShallowLinearArrayList (implements list.listinterface.ShallowList)
  - list.linkedlist.SinglyLinkedListFactory (implements list.listinterface.ListFactory)
  - graph.tasks.TestShortestPath (implements graph.tasks.ShortestPath)
  - graph.tasks.TestShortestPath.record
  - graph.tasks.TestShortestPathFactory (implements graph.tasks.ShortestPathFactory)
  - searchable.recursivesearchtree.TreeNode
    - searchable.recursivesearchtree.BalancedAncestor
      - searchable.recursivesearchtree.AVLTreeNode
      - searchable.recursivesearchtree.BalancedTreeNode

## Interface Hierarchy

- tree.binarytreeinterface.BinaryTreeFactory
- list.listinterface.CommonBase
  - list.listinterface.BaseListInterface
    - list.listinterface.List
      - list.listinterface.SortableList
    - list.listinterface.QueueList
      - list.listinterface.List
        - list.listinterface.SortableList
      - list.listinterface.SortableList
    - list.listinterface.SortableList
    - list.listinterface.StackList
  - sequence.sequenceinterface.BaseSequence
    - sequence.sequenceinterface.Queue
    - sequence.sequenceinterface.ReorganizableSequence
    - sequence.sequenceinterface.Sequence
      - sequence.sequenceinterface.ReorganizableSequence
      - sequence.sequenceinterface.SortableSequence
    - sequence.sequenceinterface.ShallowSequence
    - sequence.sequenceinterface.SortableSequence
    - sequence.sequenceinterface.Stack
  - tree.binarytreeinterface.BinaryTree
  - heap.heaptreeinterface.HeapTree
  - list.listinterface.List
    - list.listinterface.SortableList
  - sequence.sequenceinterface.Queue
  - list.listinterface.QueueList
    - list.listinterface.List
      - list.listinterface.SortableList
    - list.listinterface.SortableList
  - sequence.sequenceinterface.ReorganizableSequence
  - sequence.sequenceinterface.Sequence
    - sequence.sequenceinterface.ReorganizableSequence
    - sequence.sequenceinterface.SortableSequence
  - list.listinterface.ShallowList
  - sequence.sequenceinterface.ShallowSequence
  - list.listinterface.SortableList
  - sequence.sequenceinterface.SortableSequence
  - sequence.sequenceinterface.Stack
  - list.listinterface.StackList
- graph.graphinterface.DirectedGraphFactory
  - graph.graphinterface.GraphFactory (also extends graph.graphinterface.UndirectedGraphFactory)
- graph.graphinterface.Graph
  - graph.graphinterface.DirectedGraph
  - graph.graphinterface.UndirectedGraph
- graph.graphinterface.GraphLatch
- searchable.searchableinterface.HashCB
- heap.heapinterface.Heap
  - heap.heapinterface.JustifiableHeap
- heap.heapinterface.HeapCallBack<T>
- heap.heapinterface.HeapFactory
- heap.heaptreeinterface.HeapTreeFactory
- heap.heapinterface.JustifiableHeapFactory
- list.listinterface.ListFactory
  - list.listinterface.SortableListFactory
- list.listinterface.MemberReference
- sequence.sequenceinterface.QueueFactory
- sequence.sequenceinterface.ReorganizableSequenceFactory
- searchable.searchableinterface.Searchable
  - searchable.searchableinterface.SearchableWithMedian
- searchable.searchableinterface.SearchableFactory
- searchable.searchableinterface.SearchableWithMedianFactory
- tree.binarytreeinterface.SearchCallBack
- sequence.sequenceinterface.SequenceFactory
- heap.heapinterface.ShallowHeapFactory
- heap.heaptreeinterface.ShallowHeapTreeFactory
- graph.tasks.ShortestPath
- graph.tasks.ShortestPathFactory
- sequence.sequenceinterface.SortableSequenceFactory
- sequence.sequenceinterface.StackFactory
- graph.graphinterface.UndirectedGraphFactory
  - graph.graphinterface.GraphFactory (also extends graph.graphinterface.DirectedGraphFactory)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - graph.tasks.Status
    - tree.binarytree.SearchState