O algoritmo de Tarjan é uma técnica eficiente para encontrar os componentes fortemente conectados de um grafo. Ele foi desenvolvido por Robert Tarjan em 1972 e é amplamente utilizado na teoria dos grafos e na análise de redes. O algoritmo utiliza uma busca em profundidade para encontrar os componentes fortemente conectados, ou seja, subconjuntos de vértices em um grafo onde todos os vértices são alcançáveis uns dos outros. Em Haskell, a biblioteca haskell-graphscc fornece uma implementação desse algoritmo para facilitar a utilização dele em projetos. 