# data[].attributes.body
Grafo- Conjunto de pontos e linhas que ligam entre si todos ou alguns desses pontos.

Grafo conexo- É um grafo no qual existe sempre uma sequência de arestas a unir quaisquer dois seus vértices.

Grafo completo- É um grafo simples em que todos os pares de vértices são adjacentes.

# data[].attributes.body
Grau de um vértice- É o número de arestas incidentes nesse vértice.

Ordem de um grafo- É o número de vértices desse grafo.

# data[].attributes.body
Num caminho o percurso é fechado em que termina num vértice diferente do que começou. Num circuito o percurso é fechado e acaba no mesmo vértice em que começou.

# data[].attributes.body
Circuito de Euler passa apenas uma vez em cada aresta (sem repetir nenhuma), no grafo de Euler é um grafo no qual é possível definir um ou mais circuitos de Euler.

# data[].attributes.body
Neste desafio tentei descobrir uma possível

# data[].attributes.body
Tal como Königsberg acabamos por descobrir que é impossível resolver o problema das três casas. Pois as linhas vão sempre se cruzar.

# data[].attributes.body
Neste desafio tivemos de encontrar uma solução mas tinha de ter 7 árvores no final mas apenas utilizando 6 linhas com 3 árvores cada uma.

# data[].attributes.body
Eulerizaçao de um grafo- Para eulerizar um grafo temos de duplicar arestas já existentes até virar um grafo conexo com os vértices pares.

# data[].attributes.body
Diferença entre Caminho de Hamilton e Circuito de Hamilton- Caminho de Hamilton percorre todos os vértices de um grafo conexo sem passar em nenhum mais do que uma vez. Caso o percurso seja fechado, temos assim num ciclo denominado por ciclo de Hamilton.

Circuito de Hamilton é um caminho que percorre todos os vértices de um grato conexo uma única vez, comecando e terminando no mesmo vértice que se repete.

# data[].attributes.body
Situação do item 2- TA-TC-TF-TG=(2+10+4+6)=22h

A-B-E-H=(2+5+8+2)=17h

# data[].attributes.body
Caminho critico e a sua duração do item 1

A+B+D+E+F+C=15h

# data[].attributes.body
Caminho Critico - Trata-se de um percurso representado por uma sequência de tarefas(representadas por vértices)e que corresponde ao maior somatório dos pesos dos vértices que o compõe.

Permite também calcular o tempo mínimo nas realização de um conjunto de tarefas.

# data[].attributes.body
Digrafo

É um grafo cujas arestas têm um sentido associado.

# data[].attributes.body
TA-TB-TD-TE/1+3+3+4=11h

TA-TB-TE-TF/1+3+2+4=10h

TA-TC-TE-TF/1+2+2+4=9h

# data[].attributes.body
Diferença entre árvore e árvore geradora ou abrangente- Árvore é um grafo conexo que não possui qualquer circuito.

Árvore geradora ou abrangente é um subgrafo de um grafo conexo que tem todos os vértices desse grafo e é uma árvore.

# data[].attributes.body
Algoritmo de Kruscal- O algoritmo de kruscal as arestas, conexo, vão se unindo por ordem crescente dos pesos,desde que não se formem circuitos e que se garanta que no final todos os vértices estão na árvore

# data[].attributes.body
Algoritmo de Prim

No algoritmo de Prim. Começa-se num vértice qualquer do grafo original (conexo)

Seleciona-se a aresta com menor peso nesse vértice.

Em cada passo seguinte,observam-se as arestas que saem de qualquer vértice já alcançado para um vértice não incluído na árvore. Escolhemos a que tem menor peso(e que não forme circuito).Termina-se quando todos os vértices do grafo fiezerem parte da árvore.

# data[].attributes.body
Possibilidades de rotas de Santo Tirso

ST-A-B-G-ST

ST-A-G-B-ST

ST-B-A-G-ST

ST-B-G-A-ST

ST-G-A-B-ST

ST-G-B-A-ST

O número mínimo de km que o camião percorre diariamente é 753 km.

# data[].attributes.body
A-B=47km

A-D=41km

A-C=64km

B-D=50km

D-C=57km

# data[].attributes.body
A-D-B-C-A 41+50+122+64=277

# data[].attributes.body
Algoritmo da Ordenação dos Pesos das Arestas

A-41-D-57-C-122-B-47-A

Total=267 km