Implementar os algoritmos de ordenação: insertion, shell, merge, quick, bucket e counting sort em C e realizar testes com entradas de vários tamanhos. Foram utilizados vetores de entrada de tamanho 1.000, 10.000 e 50.000 com valores em ordem crescente, decrescente e aleatoriamente ordenados para analisar o comportamento e a complexidade de cada algoritmo de ordenação.
Para mais detalhes, acesse o relatório.
A seguir, as tabelas com os dados do tempo de execução de cada algoritmo:
Aplicação do algoritmo guloso para resolver o problema de alinhamento de duas sequências de DNA e análise da complexidade do algoritmo desenvolvido. Relatório disponível.
Implementação de um programa que permite construir um grafo direcionado não-ponderado com 5 vértices por meio de uma matriz de adjacências. Foi criada uma função para criar novas arestas, pois o grafo é inicializado sem arestas, e também outra função para realizar a busca em profundidade de um número inteiro no grafo.