Skip to content

andreaowu/Graphs

Repository files navigation

Makefile and GPS implemented with a graph package.

Files:

Makefile:      Does standard tasks such as building the application,
               cleaning up unneeded files, running tests, and
               performing style checks.  Used as a configuration file by 
               the 'gmake' program.

PUBLIC-VERSION:
               A file containing just the name of the current public release
               version in the public/proj1/tags directory.  (Helpful when
               trying to figure out what merges to do.)

graph (subdirectory):  Package containing general graph-related data types.
               
        Makefile:
               See above.
               
        Graph.java:
               Interface defining what a "graph" is.
               
        DirectedGraph.java:
               Implementation of directed graphs.
               
        UndirectedGraph.java
               Implementation of undirected graphs.
               
        Edge.java:
               Represents edges in a graph.

        Vertex.java
               Represents vertices in a graph.

        DepthFirst.java:
               Represents a depth-first graph traversal.

        Traversal.java:
               Represents breadth-first and other general graph traversals.

        Graphs.java:
               Utility algorithms on graphs.

        NoLabel.java:
               Convenience type representing absent labels (for unlabeled 
               vertices and edges).

        Basic.java:
               Non-exported implementation class used to provided methods and
               variables common to DirectedGraph and UndirectedGraph.

        StopException.java:
        RejectException.java:
               Unchecked exception classes that may be used by specialized
               graph trsversals to modify the course of the traversal.

      Classes related to graphs with weighted vertices and edges.
               
        Weighted.java:
               An interface describing types that have a (readable) weight.
               
        Weightable.java:
               An interface describing types (specifically types of graph label)
               that have a settable numeric weight.
               
        Weighting.java
               An interface describing a functional object that can read
               the weights of labels.

        Weighter.java:
               An interface describing a functional object that can read and
               set the weights of labels.

      Test-related:
               
        Testing.java:
                JUnit tests for graph package
               
make (subdirectory): Package containing the 'make' application.

        Makefile:
                See above.

        Main.java:  Contains main program for 'make'.

        Testing.java:
                JUnit tests for make package
               
trip (subdirectory): Package containing the 'trip' application.

        Trip:
                See above.

        Main.java:  
               Contains main program for 'trip'.

        Testing.java:
                JUnit tests for trip package


test-app:       A general-purpose test script.  See the comment at the beginning
                for usage.

make-tests:     Regression tests for the make application.

trip-tests:     Regression tests for the trip application.

About

GPS and Makefile implemented with Graph package

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages