Перейти к содержимому

09 - Algoritmos nos Grafos

Informatico.pt

0:00 / 0:00

09 - Algoritmos nos Grafos

118 просмотров · 1 месяц назад
Informatico.pt
206 подписчиков
118 просмотров · 1 месяц назад
Nesta Aula 09 de Algoritmos Computacionais, são estudados os principais Algoritmos nos Grafos, fundamentais para percorrer redes, encontrar caminhos, analisar conexidade e otimizar ligações entre vértices. A aula aprofunda os algoritmos BFS, DFS, Dijkstra, Kruskal e Prim, com aplicações práticas em redes de computadores, transportes, logística e otimização. Ao longo da aula são abordados: ✅ Algoritmos aplicados a grafos ✅ Pesquisa em Largura — BFS ✅ Pesquisa em Profundidade — DFS ✅ Filas FIFO e pilhas LIFO ✅ Comparação BFS vs DFS ✅ Árvores de exploração ✅ Conexidade dos grafos ✅ Pontos de articulação ✅ Componentes fortemente conexos ✅ Caminhos mínimos ✅ Grafos ponderados e não ponderados ✅ Algoritmo de Dijkstra ✅ Distâncias mínimas e predecessores ✅ Algoritmo de Bellman-Ford ✅ Floyd-Warshall ✅ Árvores Geradoras de Custo Mínimo — MST ✅ Algoritmo de Kruskal ✅ Algoritmo de Prim ✅ Estratégias Greedy ✅ Union-Find ✅ Cálculo do custo total de uma MST ✅ Exercícios práticos de consolidação A Pesquisa em Largura — BFS percorre o grafo por níveis, visitando primeiro os vizinhos mais próximos do vértice inicial. Utiliza uma fila — queue e é particularmente útil para encontrar caminhos mínimos em grafos não ponderados. Por outro lado, a Pesquisa em Profundidade — DFS segue um caminho até ao máximo possível antes de retroceder e explorar alternativas. Utiliza normalmente uma pilha — stack ou recursividade e é adequada para deteção de ciclos, análise de conexidade e exploração de componentes. A aula compara diretamente as duas estratégias: o BFS utiliza filas e percorre o grafo em largura, enquanto o DFS utiliza pilhas e percorre em profundidade. Outro tema central é o problema do caminho mínimo. Em grafos não ponderados pode utilizar-se BFS, enquanto em grafos ponderados sem pesos negativos é apresentado o Algoritmo de Dijkstra. O Dijkstra utiliza uma estratégia gananciosa e uma fila de prioridades para escolher sucessivamente o vértice com menor distância conhecida, atualizando as distâncias e os predecessores até determinar os caminhos de menor custo. Na parte final da aula são estudadas as Árvores Geradoras de Custo Mínimo — MST, que ligam todos os vértices de um grafo ponderado sem ciclos e com o menor custo total possível. O Algoritmo de Kruskal ordena as arestas pelo respetivo peso e vai adicionando as mais económicas que não criem ciclos, recorrendo normalmente à estrutura Union-Find. Já o Algoritmo de Prim começa num vértice e faz crescer progressivamente a árvore, escolhendo em cada passo a aresta de menor peso que permita adicionar um novo vértice. Estes algoritmos têm aplicações diretas em redes de computadores, sistemas de navegação, planeamento de estradas, redes elétricas, logística, transportes e otimização de infraestruturas. Esta aula é indicada para estudantes e formandos que pretendam aprofundar conhecimentos em Algoritmos, Teoria dos Grafos, BFS, DFS, Dijkstra, Kruskal, Prim, Caminhos Mínimos, MST e Engenharia Informática. Subscreve o canal e acompanha todas as videoaulas da série Algoritmos Computacionais. #AlgoritmosNosGrafos #AlgoritmosComputacionais #BFS #DFS #Dijkstra #Kruskal #Prim #TeoriaDosGrafos #CaminhoMinimo #MST #Grafos #EstruturasDeDados #Programacao #EngenhariaInformatica