Coder Social home page Coder Social logo

gvsurenderreddy / network-optimization-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from saini-rahul/network-optimization

0.0 3.0 0.0 42 KB

Using Dijkstra's algorithm to solve the maximum bandwidth problem to optimize a given network

C++ 100.00%

network-optimization-1's Introduction

Introduction

Class Project for CSCE 629 Analysis of Algorithms, Fall 2017.

Github Repository located at: https://github.com/caffrey26/network-optimization

This project implements a network routing protocol, Max-Bandwidth-Path problem: to find a path of the maximum bandwidth between two vertices in a given weighted undirected graph. Following parts were implemented:

  1. Random graph generation: a.) 5000 vertices, with average degree of 8. b.) 5000 vertices, with each vertex being adjacent to about 20% of the other vertices.
  2. An algorithm for Max-Bandwidth-Path based on a modification of Dijkstra’s algorithm without using a heap structure;
  3. An algorithm for Max-Bandwidth-Path based on a modification of Dijkstra’s algorithm using a heap structure for fringes;
  4. An algorithm for Max-Bandwidth-Path based on a modification of Kruskal’s algorithm, in which the edges are sorted by HeapSort.

The program also captures the run time of the algorithms for comparison, and prints the max bandwidth path.

Authors

Rahul Saini (rssaini @ tamu . edu)

Build Project

In a terminal window with the directory changed to project directory, run the following command:

g++ -std=c++11 *.cpp -o a.exe

This will produce the executable file in a.out

Run Project

./a.out

returns the max bandwidth path, along with the time taken by the three algorithms

network-optimization-1's People

Contributors

saini-rahul avatar

Watchers

James Cloos avatar  avatar  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.