Pesquisas - search

grafos.search.bellmanFord(self, node=0)[código fonte]

Obtém o caminho mínimo do grafo, considerando o peso das arestas como indicador.

Utiliza o algoritmo de Bellman Ford, que permite que as arestas possuam pesos negativos.

Args:
node (int): nó inicial para o percurso do grafo (default: 0)
Returns:
info (dictionary): Estrutura de dados que armazena dois numpy arrays ( dt e previous) e um boolean (negativeCycle), que indicam a distância percorrida no caminho mínimo, os nós anteriores e a presença de um ciclo negativo, respectivamente.
Raises:
None
grafos.search.breadthFirstSearch(self, node=0)[código fonte]

Gerencia as estruturas de dados responsáveis por armazenar os dados gerados na busca em largura.

Args:
node (int): nó de início da busca em largura (default: 0).
Returns:
info (dictionary): dicionário que armazena três listas: visitedNodes, que armazena a sequência de vértices visitados na busca; visitedEdges, que armazena as arestas percorridas na sequência de visitas dos nós; e nftEdges (not from tree edges), que armazena as arestas que não fazem parte da árvore de busca em largura.
Raises:
None
grafos.search.breadthSearch(self, node, visitedNodes, visitedEdges)[código fonte]

Algoritmo para realizar a busca em largura em um grafo.

Args:
node (int): nó de início da busca em largura. visitedNodes (list): lista vazia a ser preenchida com os nós visitados. visitedEdges (list): lista vazia a ser preenchida com as arestas visitadas.
Returns:
None
Raises:
None
grafos.search.depthFirstSearch(self, node=0)[código fonte]

Gerencia as estruturas de dados responsáveis por armazenar os dados gerados na busca em profundidade.

Args:
node (int): nó de início da busca em profunidade (default: 0).
Returns:
info (dictionary): dicionário que armazena três listas: returnEdges, que armazena as arestas de retorno da árvore de busca em profundidade; visitedEdges, que armazena as arestas percorridas na sequência de visita dos nós; e connectedComponents, que armazena listas que contém os vértices que compõem as componentes conexas do grafo.
Raises:
None
grafos.search.depthSearch(self, node, visitedNodes, visitedEdges, returnEdges)[código fonte]

Algoritmo para realizar a busca em profundidade em um grafo.

Args:
node (int): nó de início da busca em largura. visitedNodes (list): lista a ser preenchida com os nós visitados. visitedEdges (list): lista a ser preenchida com as arestas visitadas. returnEdges (list): lista a ser preenchida com as arestas de retorno.
Returns:
None
Raises:
None
grafos.search.hasNegativeCircuit(self)[código fonte]

Verifica a presença de um circuito negativo no grafo.

Utiliza o campo “negativeCycle” obtido através do conjunto de informações geradas pela execução do algoritmo de Bellman Ford no grafo.

Args:
None
Returns:
boolean: True se o grafo possui um circuito negativo; False caso contrário.
Raises:
None
grafos.search.isBipartite(self, node=0)[código fonte]

Verifica se um grafo é bipartido através de coloração.

Define duas cores válidas e colore os grafos presentes na fila de nós, enquanto existirem. Se um nó de uma cor estiver ligado a um nó cuja cor é igual, o grafo não poderá ser considerado bipartido.

Args:
node (int): nó inicial para o percurso do grafo (default: 0)
Returns:
boolean: True se o grafo for bipartido; False caso contrário.
Raises:
None