Skip to content

Latest commit

 

History

History
43 lines (35 loc) · 2.18 KB

File metadata and controls

43 lines (35 loc) · 2.18 KB

Dynamic Programming Algorithms Web Application

Project Description

This repository contains a web application developed with React that serves as an interface for various dynamic programming algorithms. The application features a main menu that allows users to select and execute different algorithms, each implemented as a separate component. The project is part of an Operations Research course and includes the following algorithms:

  1. Shortest Paths (Floyd's Algorithm): Finds the optimal routes between any pair of nodes in a weighted graph.
  2. Knapsack Problem: Solves the 0/1, bounded, and unbounded versions of the knapsack problem.
  3. Optimal Binary Search Trees: Constructs the binary search tree with the minimum average cost.
  4. Sports Series: Calculates probabilities associated with sports series outcomes.

The application emphasizes a visually appealing and professional interface, with tooltips for descriptions and uniform styling across all components.

Key Features

  • Interactive Graphical Interface: Built with HTML5, CSS3 and React for a consistent look and feel.
  • Tooltip Descriptions: Hover over menu options to see brief descriptions of each algorithm.
  • File Handling: Save and load problem data for future use.
  • Error Handling: Displays alerts for unavailable algorithms.
  • Optional Extras: Visual representations of graphs, mathematical problem displays, and more.

Technologies Used

  • Frontend: React
  • Styling: HTML5, CSS3

Authors

  • Steven Sequeira
  • Andrey Ureña
  • Carlos Loaiza
  • Brandon Calderón
  • Jerson Prendas

Project Structure

The repository is organized as follows:

  1. Proyecto 0: Main menu and framework for launching algorithms.
  2. Proyecto 1: Implementation of Floyd's Algorithm for shortest paths.
  3. Proyecto 2: Solution for the Knapsack Problem.
  4. Proyecto 3: Sports Series probability calculator.
  5. Proyecto 4: Optimal Binary Search Trees constructor.

How to Run

  1. Clone the repository.
  2. Install dependencies (React, etc.).
  3. Run the application using the appropriate framework commands ( npm start for React).
  4. Access the main menu via the browser and select the desired algorithm.