Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof....
Transcript of Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof....
![Page 1: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/1.jpg)
Algoritmos e Teoria dos GrafosAula 04
Prof. Murilo V. G. da Silva
DINF/UFPR
Material da Disciplina:
Renato J. S. Carmo
![Page 2: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/2.jpg)
Notacao Assintotica e Algoritmos Polinomiais
Notacao “big-Oh”
Escrevemos g(n) = O(f (n)) se existem c > 0 e nc ∈ N tais que,
g(n) ≤ cf (n),∀n ≥ nc .
Algoritmos Polinomiais
Um algoritmo e polinomial se seu tempo de execucao e O(nk) para algumk ∈ N, onde n e o tamanho da entrada do algoritmo.
i.e., um algoritmo e polinomial se existem c > 0, k e nc ∈ N tais que
para toda entrada de tamanho n > nc , o tempo de execucao t(n) doalgoritmo satisfaz t(n) ≤ cnk
E comum dizer que a complexidade de tempo do algoritmo e polinomial
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 3: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/3.jpg)
Notacao Assintotica e Algoritmos Polinomiais
Notacao “big-Oh”
Escrevemos g(n) = O(f (n)) se existem c > 0 e nc ∈ N tais que,
g(n) ≤ cf (n),∀n ≥ nc .
Algoritmos Polinomiais
Um algoritmo e polinomial se seu tempo de execucao e O(nk) para algumk ∈ N, onde n e o tamanho da entrada do algoritmo.
i.e., um algoritmo e polinomial se existem c > 0, k e nc ∈ N tais que
para toda entrada de tamanho n > nc , o tempo de execucao t(n) doalgoritmo satisfaz t(n) ≤ cnk
E comum dizer que a complexidade de tempo do algoritmo e polinomial
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 4: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/4.jpg)
Notacao Assintotica e Algoritmos Polinomiais
Notacao “big-Oh”
Escrevemos g(n) = O(f (n)) se existem c > 0 e nc ∈ N tais que,
g(n) ≤ cf (n),∀n ≥ nc .
Algoritmos Polinomiais
Um algoritmo e polinomial se seu tempo de execucao e O(nk) para algumk ∈ N, onde n e o tamanho da entrada do algoritmo.
i.e., um algoritmo e polinomial se existem c > 0, k e nc ∈ N tais que
para toda entrada de tamanho n > nc , o tempo de execucao t(n) doalgoritmo satisfaz t(n) ≤ cnk
E comum dizer que a complexidade de tempo do algoritmo e polinomial
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 5: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/5.jpg)
Notacao Assintotica e Algoritmos Polinomiais
Notacao “big-Oh”
Escrevemos g(n) = O(f (n)) se existem c > 0 e nc ∈ N tais que,
g(n) ≤ cf (n),∀n ≥ nc .
Algoritmos Polinomiais
Um algoritmo e polinomial se seu tempo de execucao e O(nk) para algumk ∈ N, onde n e o tamanho da entrada do algoritmo.
i.e., um algoritmo e polinomial se existem c > 0, k e nc ∈ N tais que
para toda entrada de tamanho n > nc , o tempo de execucao t(n) doalgoritmo satisfaz t(n) ≤ cnk
E comum dizer que a complexidade de tempo do algoritmo e polinomial
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 6: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/6.jpg)
Problemas Polinomiais e Problemas NP-difıceis
Problemas Polinomiais
Um problema polinomial e um problema computacional para o qual existealgoritmo polinomial que o resolva.
Problemas NP-difıceis
Um problema NP-difıcil e um problema computacional para o qual
1 nao se conhece nenhum algoritmo polinomial
2 a existencia de algoritmo polinomial implica na existencia de algoritmospolinomiais para outros problemas NP-difıceis.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 7: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/7.jpg)
Problemas Polinomiais e Problemas NP-difıceis
Problemas Polinomiais
Um problema polinomial e um problema computacional para o qual existealgoritmo polinomial que o resolva.
Problemas NP-difıceis
Um problema NP-difıcil e um problema computacional para o qual
1 nao se conhece nenhum algoritmo polinomial
2 a existencia de algoritmo polinomial implica na existencia de algoritmospolinomiais para outros problemas NP-difıceis.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 8: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/8.jpg)
Problemas Polinomiais e Problemas NP-difıceis
Problemas Polinomiais
Um problema polinomial e um problema computacional para o qual existealgoritmo polinomial que o resolva.
Problemas NP-difıceis
Um problema NP-difıcil e um problema computacional para o qual
1 nao se conhece nenhum algoritmo polinomial
2 a existencia de algoritmo polinomial implica na existencia de algoritmospolinomiais para outros problemas NP-difıceis.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 9: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/9.jpg)
Exemplos de problemas
Exemplos de Problemas Polinomiais
ordenar uma lista de numeros dada.
decidir se um valor dado ocorre ou nao em uma lista, tambem dada.
encontrar um caminho mınimo entre dois vertices em um grafo
Exemplos de Problemas NP-difıceis
o problema do caixeiro viajante
encontrar uma valoracao que satisfaz uma formula booleana
encontrar uma coloracao mınima para um grafo
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 10: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/10.jpg)
Exemplos de problemas
Exemplos de Problemas Polinomiais
ordenar uma lista de numeros dada.
decidir se um valor dado ocorre ou nao em uma lista, tambem dada.
encontrar um caminho mınimo entre dois vertices em um grafo
Exemplos de Problemas NP-difıceis
o problema do caixeiro viajante
encontrar uma valoracao que satisfaz uma formula booleana
encontrar uma coloracao mınima para um grafo
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 11: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/11.jpg)
Complexidade de espaco
Complexidade de Espaco: Quantidade de memoria necessaria para se resolverum problema em funcao do tamanho da entrada.
Ideia 1: O espaco necessario para se resolver um problema e o espaco necessariopara armazenar a instancia do problema mais o espaco extra necessario pararealizar a computacao
Ideia 2 (mais usual): Definir a complexidade de espaco de um problema levandoem consideracao apenas o espaco extra necessario.
Nesta aula: Nao nos preocuparemos com a complexidade de espaco deproblemas, mas apenas com a complexidade de espaco de armazenamento dografo de entrada.
A descricao de um grafo G consome espaco proporcional a |V (G)|+ |E(G)|.
Ou seja, um grafo (V (G),E(G)) consome O(|V (G)|+ |E(G)|) posicoes dememoria para ser armazenado no computador.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 12: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/12.jpg)
Complexidade de espaco
Complexidade de Espaco: Quantidade de memoria necessaria para se resolverum problema em funcao do tamanho da entrada.
Ideia 1: O espaco necessario para se resolver um problema e o espaco necessariopara armazenar a instancia do problema mais o espaco extra necessario pararealizar a computacao
Ideia 2 (mais usual): Definir a complexidade de espaco de um problema levandoem consideracao apenas o espaco extra necessario.
Nesta aula: Nao nos preocuparemos com a complexidade de espaco deproblemas, mas apenas com a complexidade de espaco de armazenamento dografo de entrada.
A descricao de um grafo G consome espaco proporcional a |V (G)|+ |E(G)|.
Ou seja, um grafo (V (G),E(G)) consome O(|V (G)|+ |E(G)|) posicoes dememoria para ser armazenado no computador.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 13: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/13.jpg)
Complexidade de espaco
Complexidade de Espaco: Quantidade de memoria necessaria para se resolverum problema em funcao do tamanho da entrada.
Ideia 1: O espaco necessario para se resolver um problema e o espaco necessariopara armazenar a instancia do problema mais o espaco extra necessario pararealizar a computacao
Ideia 2 (mais usual): Definir a complexidade de espaco de um problema levandoem consideracao apenas o espaco extra necessario.
Nesta aula: Nao nos preocuparemos com a complexidade de espaco deproblemas, mas apenas com a complexidade de espaco de armazenamento dografo de entrada.
A descricao de um grafo G consome espaco proporcional a |V (G)|+ |E(G)|.
Ou seja, um grafo (V (G),E(G)) consome O(|V (G)|+ |E(G)|) posicoes dememoria para ser armazenado no computador.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 14: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/14.jpg)
Complexidade de espaco
Complexidade de Espaco: Quantidade de memoria necessaria para se resolverum problema em funcao do tamanho da entrada.
Ideia 1: O espaco necessario para se resolver um problema e o espaco necessariopara armazenar a instancia do problema mais o espaco extra necessario pararealizar a computacao
Ideia 2 (mais usual): Definir a complexidade de espaco de um problema levandoem consideracao apenas o espaco extra necessario.
Nesta aula: Nao nos preocuparemos com a complexidade de espaco deproblemas, mas apenas com a complexidade de espaco de armazenamento dografo de entrada.
A descricao de um grafo G consome espaco proporcional a |V (G)|+ |E(G)|.
Ou seja, um grafo (V (G),E(G)) consome O(|V (G)|+ |E(G)|) posicoes dememoria para ser armazenado no computador.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 15: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/15.jpg)
Complexidade de espaco
Complexidade de Espaco: Quantidade de memoria necessaria para se resolverum problema em funcao do tamanho da entrada.
Ideia 1: O espaco necessario para se resolver um problema e o espaco necessariopara armazenar a instancia do problema mais o espaco extra necessario pararealizar a computacao
Ideia 2 (mais usual): Definir a complexidade de espaco de um problema levandoem consideracao apenas o espaco extra necessario.
Nesta aula: Nao nos preocuparemos com a complexidade de espaco deproblemas, mas apenas com a complexidade de espaco de armazenamento dografo de entrada.
A descricao de um grafo G consome espaco proporcional a |V (G)|+ |E(G)|.
Ou seja, um grafo (V (G),E(G)) consome O(|V (G)|+ |E(G)|) posicoes dememoria para ser armazenado no computador.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 16: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/16.jpg)
Complexidade de espaco
Complexidade de Espaco: Quantidade de memoria necessaria para se resolverum problema em funcao do tamanho da entrada.
Ideia 1: O espaco necessario para se resolver um problema e o espaco necessariopara armazenar a instancia do problema mais o espaco extra necessario pararealizar a computacao
Ideia 2 (mais usual): Definir a complexidade de espaco de um problema levandoem consideracao apenas o espaco extra necessario.
Nesta aula: Nao nos preocuparemos com a complexidade de espaco deproblemas, mas apenas com a complexidade de espaco de armazenamento dografo de entrada.
A descricao de um grafo G consome espaco proporcional a |V (G)|+ |E(G)|.
Ou seja, um grafo (V (G),E(G)) consome O(|V (G)|+ |E(G)|) posicoes dememoria para ser armazenado no computador.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 17: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/17.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeada
Para cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 18: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/18.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 19: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/19.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 20: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/20.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 21: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/21.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 22: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/22.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 23: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/23.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 24: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/24.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:
∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 25: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/25.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 26: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/26.jpg)
Listas de Adjacencia
O conjunto V (G) e representado por um vetor ou por uma lista encadeadaPara cada v ∈ V (G), o conjunto ΓG (v) e representado por uma lista LG [v ].
Vertices
Um grafo com |V (G)| vertices precisa de um vetor de |V (G)| posicoes (usando vetor)ou de |V (G)| elementos de na lista de vertices (usando lista).
Uma posicao/elemento para cada vertice.
Cada posicao do vetor (se estivermo usando um vetor) ou elemento da lista (seestivermos usando uma lista) guarda um ponteiro para uma lista de arestas
Arestas
O tamanho da lista dos vizinhos de v em G e |LG [v ]| = |ΓG (v)| = δG (v)
Observe que teremos |V (G)| listas de arestas
Total para todas as listas de arestas:∑v∈V (G)
|LG [v ]| =∑
v∈V (G)
δG (v) = 2|E(G)|,
Representacao de todo grafo G : consome espaco O(|V (G)| + |E(G)|).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 27: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/27.jpg)
Matriz de Adjacencia
Analise muito mais simples:
Matriz de adjacencia
A representacao do grafo G por matriz de adjacencia consome espacoproporcional a |V (G)|2, independente do numero de aretas (inclusise se grafonao conter arestas).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 28: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/28.jpg)
Matriz de Adjacencia
Analise muito mais simples:
Matriz de adjacencia
A representacao do grafo G por matriz de adjacencia consome espacoproporcional a |V (G)|2, independente do numero de aretas (inclusise se grafonao conter arestas).
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 29: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/29.jpg)
Grafos direcionados
Lidando com grafos direcionados e ponderados:
Matriz de adjacencia
Por definicao lidam naturalmente com grafos direcionados e ponderados
Listas de adjacencia
Para cada v ∈ V (G) podemos usar listas separadas para Γ+(v) e Γ−(v)
Alternativamente, podemos criar um campo no no da lista indicando adirecao do arco
Para grafos com peso, acrescenta-se um campo para armazenar o peso.
Note: Tanto em matrizes com listas, grafos direcionados e ponderadosconsomem (assintoticamente) o mesmo espaco que grafos simples.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 30: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/30.jpg)
Grafos direcionados
Lidando com grafos direcionados e ponderados:
Matriz de adjacencia
Por definicao lidam naturalmente com grafos direcionados e ponderados
Listas de adjacencia
Para cada v ∈ V (G) podemos usar listas separadas para Γ+(v) e Γ−(v)
Alternativamente, podemos criar um campo no no da lista indicando adirecao do arco
Para grafos com peso, acrescenta-se um campo para armazenar o peso.
Note: Tanto em matrizes com listas, grafos direcionados e ponderadosconsomem (assintoticamente) o mesmo espaco que grafos simples.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 31: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/31.jpg)
Grafos direcionados
Lidando com grafos direcionados e ponderados:
Matriz de adjacencia
Por definicao lidam naturalmente com grafos direcionados e ponderados
Listas de adjacencia
Para cada v ∈ V (G) podemos usar listas separadas para Γ+(v) e Γ−(v)
Alternativamente, podemos criar um campo no no da lista indicando adirecao do arco
Para grafos com peso, acrescenta-se um campo para armazenar o peso.
Note: Tanto em matrizes com listas, grafos direcionados e ponderadosconsomem (assintoticamente) o mesmo espaco que grafos simples.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 32: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/32.jpg)
Grafos direcionados
Lidando com grafos direcionados e ponderados:
Matriz de adjacencia
Por definicao lidam naturalmente com grafos direcionados e ponderados
Listas de adjacencia
Para cada v ∈ V (G) podemos usar listas separadas para Γ+(v) e Γ−(v)
Alternativamente, podemos criar um campo no no da lista indicando adirecao do arco
Para grafos com peso, acrescenta-se um campo para armazenar o peso.
Note: Tanto em matrizes com listas, grafos direcionados e ponderadosconsomem (assintoticamente) o mesmo espaco que grafos simples.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 33: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/33.jpg)
Grafos direcionados
Lidando com grafos direcionados e ponderados:
Matriz de adjacencia
Por definicao lidam naturalmente com grafos direcionados e ponderados
Listas de adjacencia
Para cada v ∈ V (G) podemos usar listas separadas para Γ+(v) e Γ−(v)
Alternativamente, podemos criar um campo no no da lista indicando adirecao do arco
Para grafos com peso, acrescenta-se um campo para armazenar o peso.
Note: Tanto em matrizes com listas, grafos direcionados e ponderadosconsomem (assintoticamente) o mesmo espaco que grafos simples.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 34: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/34.jpg)
Grafos direcionados
Lidando com grafos direcionados e ponderados:
Matriz de adjacencia
Por definicao lidam naturalmente com grafos direcionados e ponderados
Listas de adjacencia
Para cada v ∈ V (G) podemos usar listas separadas para Γ+(v) e Γ−(v)
Alternativamente, podemos criar um campo no no da lista indicando adirecao do arco
Para grafos com peso, acrescenta-se um campo para armazenar o peso.
Note: Tanto em matrizes com listas, grafos direcionados e ponderadosconsomem (assintoticamente) o mesmo espaco que grafos simples.
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 35: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/35.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 36: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/36.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 37: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/37.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 38: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/38.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 39: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/39.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 40: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/40.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 41: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/41.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 42: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/42.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 43: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/43.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 44: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/44.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 45: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/45.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 46: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/46.jpg)
Analise Comparativa
1 Espaco consumido:
Com matrizes e O(|V 2|) (considera maior quantidade possıvel de arestas)
Com listas e O(|V (G)| + |E(G)|).
2 Dado v , verificar se u e seu vizinho:
Com matrizes o custo e O(1) (independente do tamanho do grafo)
Com listas o custo e δG (v).
Variacao desta analise: Dado G , determinar se dois vertices sao vizinhos:
Matrizes: O(1)
Listas O(∆(G)) (tambem e correto dizer O(|V (G)|).
3 Dado v , percorrer sua vizinhanca:
Com matrizes o custo e O(|V (G)|) (mesmo para vertices isolados)
Com listas o custo e O(δG (v))
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 47: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/47.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 48: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/48.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 49: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/49.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)
2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 50: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/50.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 51: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/51.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)
Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 52: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/52.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 53: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/53.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 54: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/54.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 55: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/55.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 56: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/56.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 57: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/57.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos
![Page 58: Algoritmos e Teoria dos Grafos Aula 04 - UFPR · Algoritmos e Teoria dos Grafos Aula 04 Prof. Murilo V. G. da Silva DINF/UFPR Material da Disciplina: Renato J. S. Carmo](https://reader033.fdocuments.net/reader033/viewer/2022050602/5fa9b5c23d026a4e3060098b/html5/thumbnails/58.jpg)
Analise Comparativa
1 Percorrer todas as arestas:
Matriz: O(|V (G)|2), mesmo num grafo sem arestas
Listas: O(|V (G)| + |E(G)|)2 Determinar o grau de um vertice v :
Matriz: O(|V (G)|)Listas: O(δG (v))
3 Acrescentar uma aresta no grafo:
Matriz: O(1)
Listas: O(1)
4 Acrescentar um vertice:
Matriz: Pode nao ser possıvel (depende da possibilidade de realocarmemoria contıgua) ou pode envolver a copia de toda a matriz para outraregiao de memoria (custo O(|V |2)).
Listas: O(1)
Prof. Murilo V. G. da Silva Algoritmos e Teoria dos Grafos