Skip to content

Implementação da representação dos vários tipos de grafos em Python

License

Notifications You must be signed in to change notification settings

rodrigondec/grafos_python

Repository files navigation

Grafos

Implementação da representação dos vários tipos de grafos em Python

Nós

Tipos

  • Nó simples => "No"

    A classe implementada para o nó simple está no arquivo "No.py".
    Ela possui o atributo identificador que pode ser tanto um inteiro quanto uma string, e um método para retornar o nó como string.
    Por exmplo se possuirmos um nó no qual identificador = 1, sua string ficará será "[1]".

  • Nó valorado => "NoValorado"

    A classe implementada para o nó valorado está no arquivo "No.py".
    Ela é uma extensão da classe "No" citada acima com o acréscimo do atributo valor.
    O stringfy herdado da classe foi adaptada para acrescentar o atributo valor.
    Por exmplo se possuirmos um nó no qual identificador = 1 e valor = 15, sua string ficará será "[1] {15}".

  • Nó arvore => "NoArvore"

    A classe implementada para o nó de arvore está no arquivo "No.py".
    Ela é uma extensão da classe "No" citada acima com o acréscimo dos atributos pai e distancia.
    O stringfy herdado da classe foi adaptada para acrescentar o atributo valor.
    Por exmplo se possuirmos um nó no qual identificador = 1, pai = 15 e distancia = 2, sua string ficará será "[1] {15} (2)".

Arestas

Tipos

  • Aresta simples => "Aresta"

    A classe implementada para a aresta simples está no arquivo "Aresta.py".
    Ela possui dois atributos origem e destino que são referentes aos identificadores dos dois nós conexos, e um método para retornar a aresta como string.
    Por exmplo se possuirmos uma aresta na qual liga o nó identificador = 1 com o nó identificador = 2, sua string ficará será "[1, 2]".

  • Aresta valorada => "ArestaValorada"

    A classe implementada para a aresta valorada está no arquivo "Aresta.py".
    Ela é uma extensão da classe "Aresta" citada acima com o acréscimo do atributo valor.
    O stringfy herdado da classe foi adaptada para acrescentar o atributo valor. Por exmplo se possuirmos uma aresta na qual liga o nó identificador = 1 com o nó identificador = 2 com um valor = 15, sua string ficará será "[1, 2] {15}".

Árvore

Tipo

  • Arvore simples => "Arvore"

    A classe implementada para a arvore simples está no arquivo "Arvore.py".
    Ela possui dois atributos raiz e nos que são referentes ao nó raiz e à lista de nos da arvore respectivamente, e um método para inserir um nó na árvore.

Grafos

Tipos

  • Grafo simples => "Grafo"

    A classe implementada para o grafo simples está no arquivo "grafo.py".
    Ela possui três atributos nós, arestas e arvores que são listas para armazenar os respectivos objetos do grafo.
    Essa classe também possui os seguintes métodos:

    • getNo(identificador): método que retorna o objeto nó se o nó de identificador existir no grafo.
    • getAresta(origem, destino): método que retorna o objeto aresta se a aresta de origem e destino existir no grafo.
    • getAdj(identificador): método que retorna uma lista dos nós adjacentes do nó de identificador.
    • insertNo(no): método que insere o passado como parâmetro no grafo.
    • insertAresta(aresta): método que insere a aresta passada como parâmetro no grafo.
    • bfs(identificador): método que retorna a arvore criada utilizando o algoritmo breadth-first search tendo como raíz o nó de identificador.
    • printNos(): método que imprime todos os nós do grafo.
    • printArestas(): método que imprime todas as arestas do grafo.
    • str(): método que imprime todo o grafo. seguindo o modelo "( nó 1, nó 2, nó n; aresta 1, aresta 2, aresta n )"

  • Grafo simples com nó valorado => "Grafo_NoValorado"

    A classe implementada para o grafo simples com nó valorado está no arquivo "grafo.py".
    Ela é uma extensão da classe "Grafo" citada acima expecializada para comportar nós valorados.

  • Grafo simples com aresta valorada => "Grafo_ArestaValorada"

    A classe implementada para o grafo simples com aresta valorada está no arquivo "grafo.py".
    Ela é uma extensão da classe "Grafo" citada acima expecializada para comportar arestas valoradas.

  • Grafo simples com aresta e nó valorados => "Grafo_Aresta_e_NoValorados"

    A classe implementada para o grafo simples com aresta e nós valorados está no arquivo "grafo.py".
    Ela é uma extensão da classe "Grafo" citada acima expecializada para comportar tanto arestas quanto nós valorados.


  • Grafo direcional => "DiGrafo"

    A classe implementada para o grafo direcional está no arquivo "grafo.py".
    Ela é uma extensão da classe "Grafo" citada acima expecializada para comportar arestas direcionais.

  • Grafo direcional com nó valorado => "DiGrafo_NoValorado"

    A classe implementada para o grafo direcional com nó valorado está no arquivo "grafo.py".
    Ela é uma extensão da classe "DiGrafo" citada acima expecializada para comportar nós valorados.

  • Grafo direcional com aresta valorada => "DiGrafo_ArestaValorada"

    A classe implementada para o grafo direcional com aresta valorada está no arquivo "grafo.py".
    Ela é uma extensão da classe "DiGrafo" citada acima expecializada para comportar arestas valoradas.

  • Grafo direcional com aresta e nó valorados => "DiGrafo_Aresta_e_NoValorados"

    A classe implementada para o grafo direcional com aresta e nós valorados está no arquivo "Digrafo.py".
    Ela é uma extensão da classe "DiGrafo" citada acima expecializada para comportar tanto arestas quanto nós valorados.

About

Implementação da representação dos vários tipos de grafos em Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages