Пример #1
0
        public List <celula>[] getComplementar()
        {
            List <celula>[] Complementar = new List <celula> [Vertices];
            for (int x = 0; x < Vertices; x++)
            {
                //  inicializa os X elementos do vetor
                Complementar[x] = new List <celula>();
            }

            for (int x = 0; x < Vertices; x++)
            {
                for (int y = 0; y < Vertices; y++)
                {
                    /* Caso nao exista adj entre um vertice x,y e x,y nao seja igual entao adiciona a aresta
                     * ao grafo complementar.
                     */
                    if (x != y && !isAdjacente(x, y))
                    {// add vertice
                        celula aux = new celula(x, y, 1);
                        Complementar[x].Add(aux);
                    }
                }
            }
            return(Complementar);
        }
Пример #2
0
        public void AdicinarArestaDirecionada(int origem, int destino, int peso)
        {
            //
            celula aux = new celula(origem, destino, peso);

            Grafo[origem].Add(aux);
        }
Пример #3
0
        public void AdicinarAresta(int origem, int destino, int peso)
        {
            //
            celula aux = new celula(origem, destino, peso);

            Grafo[origem].Add(aux);

            //Grafo nao direcionado, função para agilizar procesos de cadastro das arestas
            celula aux2 = new celula(destino, origem, peso);

            Grafo[destino].Add(aux2);
        }