Giter Site home page Giter Site logo

rusito-23 / wahlaan Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 34 KB

Greedy algorithm implementation for graph coloring using plain C

License: MIT License

Makefile 5.35% C 81.30% C++ 13.35%
famaf testing test graph-algorithms graph greedy-algorithm c

wahlaan's Introduction

Wahlaan πŸ€“

Discrete Math II 2019 - Famaf, Argentina. Uses the Greedy algorithm for Graph Coloring with C.

Test Suites

  • SANITY

      Runs several UnitTests over the required functions.
    
  • PERFORMANCE

      Runs several actions, saving the partial time for each of one:
    
    • Graph reading
    • Greedy with natural order
    • WelshPowell Re-Ordering and Greedy
    • 100 SwitchVertices
    • 1000 RMBCs + Greedy
  • COLOR

      Shows the results of Greedy with the following orders:
    
    • Natural
    • Welsh Powell
    • 100 SwitchVΓ©rtices
    • 100 RMBCs
  • BIPARTITO

      Shows the results of running Greedy and Bipartite over the graph.
    

Makefile πŸ”›

The makefile provides the following targets:

  • make <suite> GRAPH=Path/to/Graph Suite over a Graph

    Example: make sanity GRAPH=Graphs/K4.txt

  • make <suite>-all FOLDER=Path/To/Folder Suite over a folder of Graphs

    Ejemplo: make performance-all FOLDER=Graphs/Performance

  • make <suite>-valgrind GRAPH=Path/To/Graph Suite over a Graph with Valgrind results:

    make bipartito-valgrind GRAPH=Graphs/Bipartito.txt VALGRIND='valgrind --leak-check=full --show-leak-kinds=all'

Structure

.
β”œβ”€β”€ Graphs
β”‚Β Β  β”œβ”€β”€ Bipartite
β”‚Β Β  β”œβ”€β”€ Color
β”‚Β Β  β”‚Β Β  └── Small graphs to check COLOR suite
β”‚Β Β  β”œβ”€β”€ Complete
β”‚Β Β  β”‚Β Β  └── Complete Graphs
β”‚Β Β  └── Performance
β”‚Β Β   Β Β  └── Large graphs to test the PERFORMACE suite
β”œβ”€β”€ Makefile
β”œβ”€β”€ README.md
β”œβ”€β”€ Test
β”‚Β Β  β”œβ”€β”€ PrintTests.c
β”‚Β Β  β”œβ”€β”€ TestSuites.c
β”‚Β Β  β”œβ”€β”€ Tests.h
β”‚Β Β  β”œβ”€β”€ TestsMultiples.c
β”‚Β Β  └── UnitTests.c
β”œβ”€β”€ Wahlaan
β”‚Β Β  β”œβ”€β”€ Project .c files
β”‚Β Β  └── Rii.h
└── main.c

wahlaan's People

Contributors

rusito-23 avatar valemollea avatar

Stargazers

 avatar  avatar

Watchers

 avatar

wahlaan's Issues

Agregar por parΓ‘metro el nombre del archivo en main.c

Se me ocurre que se deberΓ­a poder tomar por parΓ‘metro el nombre del archivo de la forma:

main.c --suite PERFORMANCE --graph Path/al/archivo

Esto servirΓ­a para correr el proyecto desde algunos IDEs como Clion, que no dan la posibilidad de redirigir el stdin.

Completar los UnitTest

Los unit test estΓ‘n incompletos

Falta:

  • Test de CopiarGrafo (OK)

  • Test de cantidad de colores (OK)

  • Corregir test de bipartito para chequear cantidad de colores (OK)

  • Agregar Test de coloreo propio y chequearlo luego de cada orden (OK)

  • test para validar que los reordenes no hace aumentar los colores en Greedy!

  • test suite custom para poder correr test propios y no depender de las suites existentes

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.