Giter VIP home page Giter VIP logo

adt_pset2's Introduction

Graph ADT Java Implementation

This Java project provides a flexible implementation of a mutable weighted directed graph with labeled vertices, offering two distinct implementations: ConcreteVerticesGraph and ConcreteEdgesGraph.

Components

Graph Interface

The Graph interface defines the operations for a weighted directed graph with labeled vertices. Key functionalities include:

  • Adding and removing vertices
  • Setting edges with weights
  • Retrieving vertices and their connections

Each method in the interface is thoroughly documented with specifications and strategies in the JavaDoc comments.

ConcreteVerticesGraph Class

This class implements the Graph interface using a list of vertices (Vertex class) and their connections. Highlights include:

  • Operations for managing vertices and their connections
  • Robust JavaDoc comments detailing method specifications and strategies

ConcreteEdgesGraph Class

An alternative implementation of the Graph interface utilizing an Edge class to represent connections. Key features include:

  • Different underlying data structure compared to ConcreteVerticesGraph
  • Similar functionalities with a different approach

GraphInstanceTest Abstract Test Class

An abstract JUnit test class containing test cases for the Graph interface. Features include:

  • Comprehensive tests covering various functionalities of the graph ADT
  • In-depth JavaDoc comments specifying testing strategies for each test case

ConcreteVerticesGraphTest and ConcreteEdgesGraphTest JUnit Test Classes

These test classes provide specific test cases for the concrete implementations. Highlights include:

  • Detailed test methods with JavaDoc comments outlining each test's purpose and functionalities being tested

Usage

To utilize this graph implementation in your Java project:

  1. Clone or download the repository.
  2. Import the relevant Java files into your project.
  3. Instantiate the ConcreteVerticesGraph or ConcreteEdgesGraph classes to work with directed graphs.

Running Tests

Execute the provided JUnit tests in the test package to ensure the functionalities and correctness of the graph implementation.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for detailed licensing information.

adt_pset2's People

Contributors

a-arham-x avatar itsadee avatar nightwalker7558 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.