Giter Club home page Giter Club logo

grafos's Introduction

Grafos

Implementação e desenvolvimento de grafos para resolução de problemas

  1. Apresente a ordem dos vértices visitados, tanto na busca em Largura quanto em Profundidade. Os dados do grafo, vértices e arestas, obrigatoriamente devem ser lidos de um arquivo txt, bem como o vértice de origem. Indicar no início do arquivo o que representa cada linha.

  2. Dado um grafo, verificar se ele é bipartido ou não. Um grafo bipartido é um grafo cujos vértices podem ser divididos em dois conjuntos disjuntos U e V, de modo que cada aresta conecta um vértice em U a um em V. O grafo a seguir é bipartido, pois é possível dividi-lo em dois conjuntos, com cada aresta tendo um ponto final no conjunto U e o outro no conjunto V.

Existem duas maneiras de verificar um gráfico bipartido: a. Um grafo é um grafo bipartido, se e somente se, seu número cromático = 2 e, obrigatoriamente, os vértices adjacentes são de cores distintas. USAR DFS. A ideia principal é atribuir a cada vértice uma cor diferente da cor de seu. Se existir uma aresta conectando o vértice atual a um vértice anterior com a mesma cor, então pode-se afirmar que o grafo não é bipartido. b. Um grafo é um grafo bipartido se e somente se não contiver um ciclo ímpar. USAR BFS. Se um grafo contém um ciclo ímpar, não é possível dividir o grafo de forma que cada vértice adjacente tenha uma cor diferente. Fazendo uma BFS, iniciando no vértice v, se for encontrado uma aresta, cujos vértices estão no mesmo nível, então o gráfico não é bipartido, e um ciclo ímpar é encontrado. Neste caso, o nível do vértice é sua distância para vértice inicial v. Em outras palavras, se o vértice já foi descoberto e o nível dos vértices u e v são os mesmos, então o gráfico contém um ciclo ímpar e não é bipartido. Caso um grafo tenha muitos componentes conectados e cada componente for bipartido, então o grafo é bipartido.

grafos's People

Contributors

eliasrlima 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.