Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL 
INSTITUTO DE INFORMÁTICA 
Bacharelado em Ciência da Computação e 
Engenharia da Computação 
INF 01203 – Estruturas de Dados 
 
Exercícios: Grafos – Conceitos Básicos e Caminhamentos 
Nomes:		 ___________________________________________________	
	 ___________________________________________________	
	 ___________________________________________________	
01.	Considerando	o	grafo	abaixo,	assinale	as	alternativas	que	contem	características	deste	
grafo.	 (Uma	 ou	 mais	 alternativas	 podem	 ser	 assinaladas.	 Uma	 alternativa	 errada	 anula	 uma	
alternativa	certa)	
	
(						 )		 grafo	valorado	
(							)		 grafo	não	valorado	
(					 )		 grafo	orientado	
(					 )		 grafo	não	orientado		
(						 )		 grafo	não	possui	laços	
(						 )		 grafo	possui	laços	
(					 )		 grafo	conexo	
(						 )		 grafo	não	conexo		
(						 )		 grafo	completo	
(						 )		 grafo	não	completo	
(						 )		 grafo	não	possui	ciclos	
(						 )		 grafo	possui	ciclos	
(						 )		 as	cidades	Rondinha,	Estrela	e	Guaporé	formam	um	clique	
(			 )		 as	cidades	Estrela,	Guaporé,	Caxias	do	Sul	e	Porto	Alegre	formam	um	clique	
02.	 Um	 grafo	 de	 pré-requisitos	 entre	 disciplinas	 de	 um	 curso	 pode	 ser	 modelado	 da	
seguinte	forma:	cada	disciplina	é	um	vértice	do	grafo.	Se	uma	disciplina	é	origem	de	um	
arco,	significa	que	tem	como	pré-requisito	a	disciplina	no	destino	daquele	arco.	Desenhe	o	
grafo	formado	pelas	disciplinas	e	seus	pré-requisitos	da	tabela	abaixo.	(Sugestão:	utilize	o	
código	da	disciplina	para	desenhar	o	grafo).	
Código	 Disciplina	 Pré-requisitos	
INF01202	 Algoritmos	e	Programação	 	
LET02720		 Inglês	Instrumental	 	
INF01107		 Introdução	à	Arquitetura	de	computadores	 	
INF01108		 Arquitetura	e	Organização	de	Computadores	I	 INF01107		
INF01112		 Arquitetura	e	Organização	de	Computadores	II	 INF01108		
INF05008	 Fundamentos	de	Algoritmos	 	
INF01203	 Estruturas	de	Dados	 INF01202,	INF05008	
INF01124	 Classificação	e	Pesquisa	de	Dados	 INF01203	
INF01145		 Fundamentos	de	Bancos	de	Dados		 INF01124	
INF01120		 Técnicas	de	Construção	de	Programas	 INF01124	
	
	
	
	
	
	
	
	
	
	
	
	
b)	Faça	(graficamente)	a	matriz	de	adjacência	que	representa	o	grafo	desenhado	no	item	
(a).		
	
	
	
	
	
	
	
	
	
	
	
	
	
c)	Faça	(graficamente)	a	lista	de	adjacência	que	representa	o	grafo	desenhado	no	item	(a).		
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
d)	 Liste	 os	 vértices	 do	 grafo	 em	 uma	 ordem	 que	 represente	 o	 caminhamento	 em	
profundidade	iniciando	no	vértice	INF01203.	
	
	
	
	
	
e)	Liste	os	vértices	do	grafo	em	uma	ordem	que	represente	o	caminhamento	em	largura	
iniciando	no	vértice	INF01203.	
	
	
	
	
	
f)	O	grafo	é	orientado?	Assinale	a	alternativa	correta.	
(				)	Sim			(				)	Não	
	
g)	O	grafo	é	valorado	(ponderado)?	Assinale	a	alternativa	correta.	
(				)	Sim			(				)	Não	
	
h)	O	grafo	possui	um	ou	mais	ciclos?	Assinale	a	alternativa	correta.	
(				)	Sim				(				)	Não	
	
i)	O	grafo	possui	um	ou	mais	laços?	Assinale	a	alternativa	correta.	
(				)	Sim				(				)	Não	
	
j)	O	grafo	é	conexo?	Assinale	a	alternativa	correta.	
(				)	Sim			(				)	Não	
03.	Você	 usaria	 uma	 lista	 de	 adjacência	 ou	 uma	matriz	 de	 adjacência	 em	 cada	 um	 dos	
casos	abaixo?	Justifique	sua	escolha.	
a) O	grafo	tem	10.000	vértices	e	20.000	arestas	e	é	importante	usar	tão	pouco	espaço	
quanto	possível.	
	
	
b) O	grafo	tem	10.000	vértices	e	200.000.000	arestas,	e	é	importante	usar	tão	pouco	
espaço	quanto	possível.	
	
	
c) O	 grafo	 tem	 10.000	 vértices	 90.000.000	 arestas,	 e	 é	 importante	 usar	 tão	 pouco	
espaço	quanto	possível.	
	
	
d) Você	 deve	 ter	 a	 aresta	 adjacente	 tão	 rápido	 quanto	 possível,	 sem	 se	 importar	
quanto	espaço	você	usa.	
	
	
04.	Um	 sistema	de	 computação	 possui	 uma	 senha	 de	 acesso	 para	 cada	 usuário	 que	 dá	
direito	 ao	 uso	 do	 sistema.	Um	usuário	 pode	dar	 a	 outro	 o	 direito	 de	 usar	 sua	 área	 (ou	
conta).	Se x puder usar a área de y e y puder usar a área de z, 
então x poderá usar a área de z. 	Assinale	 a	 alternativa	 que	 contem	 as	
propriedades	corretas	do	grafo	que	modela	o	problema	desta	questão:	
a)		orientado	/	não-valorado	/	pode	conter	ciclos	/	pode	conter	vértices	isolados		
b)		não-orientado	/	valorado	/	pode	conter	ciclos	/	não	pode	conter	vértices	isolados		
c)		orientado	/	valorado	/	não	pode	conter	ciclos	/	pode	conter	vértices	isolados		
d)		não-orientado	/	não-valorado	/	pode	conter	ciclos	/	não	pode	conter	vértices	isolados		
e)		orientado	/	não-valorado	/	não	pode	conter	ciclos	/	não	pode	conter	vértices	isolados		
	
05.	 Complete	 	 o	 texto	 a	 seguir	 usando	 as	 palavras	 que	 estão	 no	 quadro	 abaixo.	 Cada	
palavra	pode	ser	utilizada	uma	ou	mais	vezes,	sendo	que	cada	palavra	deve	ser	utilizada	
pelo	menos	uma	vez.		
adjacentes					aresta	 arestas								grafo	 incide	 	 pontas	 	 vértices	
Um	____________________	é	um	par	(V,A) em	que	V	é	um	conjunto	arbitrário	e	A	é	
um	 subconjunto	 de	V.	 Os	 elementos	 de	V	 são	 chamados	 ____________________	 e	 os	
elementos	de	A	são	chamados	____________________.			
	
Uma	____________________	como	{v,w}	será	denotada	simplesmente	por	vw ou	por	
wv	.	Dizemos	que	a	____________________	vw ____________________	em	v e	em	w	e	
que	 v e	 w	 são	 as	 ____________________	 da	 aresta.	 Se	 vw	 é	 uma	
____________________,	 diremos	 que	 os	 ____________________	 v	 e	 w são	
____________________.	
06.	Qual	é	a	economia	de	memória,	ao	se	substituir	a	matriz	de	adjacência	como	estrutura	
de	dados	de	um	grafo	orientado,	pela	lista	de	adjacência	para	cada	vértice.	
	
	
	
	
	
	
	
	
07.	 A	 mitologia	 grega	 fala	 de	 um	 labirinto	 construído	 para	 abrigar	 o	 monstruoso	
minotauro,	parte	homem	parte	touro.	Este	labirinto	era	tão	complexo	que	nenhum	animal	
ou	homem	podia	escapar	dele.	Até	que	o	herói	grego	Teseu,	com	a	ajuda	da	filha	do	rei,	
Ariadne,	 decidiu	 implementar	 um	 algoritmo.	 A	 lógica	 do	 algoritmo	 é	 a	 seguinte:	 Teseu	
amarrou	um	novelo	de	linha	na	porta	do	labirinto	e	o	desenrolou	à	medida	que	caminhava	
pelas	tortuosas	passagens	à	procura	do	monstro.	Evidentemente,	ele	sabia	sobre	o	bom	
projeto	de	algoritmos,	pois	após	encontrar	e	vencer	o	minotauro	ele	facilmente	seguiu	o	
fio	de	volta	à	porta	e	dos	braços	de	Ariadne.	Responda:	Qual	o	algoritmo	visto	em	aula	
que	resolve	o	problema	apresentado?	Justifique	sua	resposta.		
	
	
	
	
	
	
 
08.	Considere	os	 trecho	de	código	a	 seguir.	As	variáveis	num_ar	 e	num_v	 representam,	
respectivamente,	 o	 número	 de	 arestas	 e	 o	 número	 de	 vértices	 do	 grafo.	 	 Responda	 as	
perguntas	a	seguir.	
	
#define num_ar 7 
#define num_v 6 
 
void hein(int grafoin[num_v+1][num_v+1],int grafoout[num_v+1][num_ar+1]){ 
 int l,a,i,j; 
 a=1; 
 for(i=1;i<=num_v;i++) 
 for (j=1;j<=num_v;j++){ 
 if (grafoin[i][j]==1){ 
 grafoout[i][a]=-1; 
 grafoout[j][a]=1; 
 a++;}}} 
	
a)	O	que	faz	a	função	hein?	
	
	
	
	
	
b)	Qual	é	a	estrutura	de	representação	física	do	grafo	grafoin?	
	
___________________________________________	
	
c)	Qual	é	a	estrutura	de	representação	física	do	grafo	grafoout?	
	
___________________________________________	
	
	
d)	A	função	é	adequada	para	grafos	orientados,	não-orientados	ou	ambos?	
	
___________________________________________	
	
e)	A	função	é	adequada	para	grafos	valorados,	não-valorados	ou	ambos?	
	
___________________________________________	
	
09.	Considere	os	trecho	de	código	a	seguir.	
	
#define max 7 
 
int enigma (int grafo[max+1][max+1]) 
 { 
 int i,j,k; 
 
 for (i=1;i<=max;i++) 
 for (j=1;j<=max;j++) 
 { 
 if ((grafo[i][j]==1) && (grafo[j][i]==1) ) 
 for (k=1;k<=max;k++) 
 if (grafo[k][i]==1 && grafo[i][k]==1 && grafo[k][j]==1 ) 
 { 
 printf("achou enigma %d %d %d\n",i,j,k); 
 return 1; 
 } 
 } 
 return 0; 
 } 
	
	
a)	O	que	faz	a	função	enigma?	
	
	
	
	
b)	Qual	é	a	estrutura	de	representaçãofísica	do	grafo	grafo?	
	
___________________________________________	
	
c)	A	função	é	adequada	para	grafos	orientados,	não-orientados	ou	ambos?	
	
___________________________________________	
	
d)	A	função	é	adequada	para	grafos	valorados,	não-valorados	ou	ambos?	
	
___________________________________________	
	
10.	Considere	o	trecho	de	código	a	seguir.		
#define max 7 
void whatIsGoingOn(int grafo[max+1][max+1], int v) 
{ 
 int i, j, x; 
 for (i=1; i<= max; i++) 
 { 
 x = 0; 
 for (j=1; j<= max; j++) 
 x = x + grafo[i][j]; 
 printf("%d=%d\n", i, x); } } 
	
a)	O	que	faz	a	função	whatIsGoingOn?	
	
	
	
b)	Qual	é	a	estrutura	de	representação	física	do	grafo	grafo?	
	
___________________________________________	
c)	A	função	é	adequada	para	grafos	conexos,	não-conexos	ou	ambos?	
	
___________________________________________	
d)	A	função	é	adequada	para	grafos	valorados,	não-valorados	ou	ambos?	
	
___________________________________________

Mais conteúdos dessa disciplina