Biblioteca para aplicações diversas de Grafos
Uma biblioteca prontinha para auxiliar o desenvolvimento e analises que envolvem problemas que utilizam grafos
Por que? · Documentacao · Contribuidores ·
O graph-libs é uma biblioteca que envolve os principais metodos que trabalham com grafos não direcionados e direcionados, foi desenvolvida por alunos da graduação da Universidade Federal de Campina Grande do curso de Ciência da Computação. O objetivo inicial era atender os pedidos da disciplina de Aplicação de teoria dos Grafos lecionada pelo professor Dr. Everton. O grupo de densevolvimento é composto por 5 alunos. Todos trabalharam ativamente. O projeto foi desenvolvido em Java e utilizou-se o Eclipse como IDE principal.
Graphs-libs está em produção, sempre melhorando. Porém pode ser utilizado sem danos maiores, basta baixar o arquivo e adicionar ao build path de seu projeto;
Por que criamos o graphs-libs?
Como mencionado anteriormente, criamos a biblioteca com objetivo de atender os pedidos da disciplina da universidade, entretanto tomou-se gosto pelo resultado e melhorias foram sendo implementadas. Sem contar que:
-
Grafos estão por todos os lados. Relacionamentos podem ser mapeados para grafos, trajetos podem ser mapeados para grafos, e muitos outros casos
-
O conhecimento sobre os grafos são algo de utilidade pública. O entendimento sobre o que são e como funcionam facilita certas situações do dia a dia.
-
Posssuir uma ferramenta já disponivel para trabalhar com estes tipos de dados e relacionamentos evita trabalho desnecessários. Muitas das vezes alguns programadores se limitam em seu processo de desenvolvimento devido a dificuldade de implementação de certos metodos sofisticados. A partir do momento que ja possuem estes metodos em mãos o processo de desenvolvimento se torna mais fácil.
-
Algumas ferramentas realmente já existem, porém sao bastante complexas A complexidade de ferramentas que fazem a mesma coisa tem se mostrado um ponto de gargalo para a utilização das mesma. Logo a equipe do graphs-libs tentou ao máximo fazer uma biblioteca de fácil uso e interpretaçao.
Muitos outros motivos poderiam ser citados, mas o importante é ter sempre em mente a importância dos Grafos em nossas vidas.
Segue abaixo a descrição de alguns dos metodos contidos em nossa biblioteca;
- readGraph Lê um grafo sem pesos nas arestas;
- readweightedGraph Semelhante ao metodo anterior porém leva em consideração os pesos das arestas;
- getVertexNumber
- getEdgeNumber
- getMeanEdge
- graphRepresation
- bfs
- dfs
- connected
- shortestPath
- getMeanEdge
- mst
A descrição dos metódos ainda está um pouco abstrata, se quiser conhecer mais ou tiver alguma duvida entre contato com algum membro da equipe, todos estarão de prontidão para lhes ajudar.
Dicas são sempre bem vindas.
Se você deseja transformar essa biblioteca para um idioma diferente, temos bastante interesse em acrescenta-lo a nossa equipe ! Entre em contato, conosco.
igormatheusdiniz // Igor Matheus Diniz Graduando Ciência da Computação - Universidade Federal de Campina Grande matheusgmaia // Matheus Gomes Maia - Graduando Ciência da Computação - Universidade Federal de Campina Grande luiz-FN // Luiz Fernando - Graduando Ciência da Computação - Universidade Federal de Campina Grande adautofbn // Adauto F. - Graduando Ciência da Computação - Universidade Federal de Campina Grande viniagostini // Vinicius Alencar Agostini - Graduando Ciência da Computação - Universidade Federal de Campina Grande