Um repositório completo com implementações práticas de estruturas de dados em C, organizado para facilitar o aprendizado de iniciantes. Inclui exemplos, headers e uma estrutura de projetos clara.
Este projeto contém implementações de estruturas de dados essenciais em C, com código modularizado entre headers (.h) e implementações (.c). Ideal para estudar conceitos teóricos, complexidade algorítmica e boas práticas de organização de código.
app/: Contém programas de demonstração que mostram como usar cada estrutura em cenários reais.src/: Implementações das estruturas de dados organizadas em funções.include/: Arquivos de cabeçalho (.h), bibliotecas importadas e structs necessárias para cada estrutura.orderingSources/: Implementação dos algoritmos de ordenação
| Estrutura | Descrição | Localização |
|---|---|---|
| Árvore AVL | Árvore binária balanceada | include/avitree.h, src/avitree.c |
| Lista Encadeada | Simples, dupla e circular | include/linked_list.h, include/double_linked_list.h, src/linked_list.c |
| Hash Table | Tabela de dispersão com tratamento de colisões | include/hashtable.h, src/hashtable.c |
| Fila Prioritária | Implementada com heap | include/PriorityQueue.h, src/PriorityQueue.c |
| Grafo | Representação por lista de adjacências | include/graph.h, src/graph.c |
| Dicionário | Estrutura chave-valor | include/dictionary.h, src/dictionary.c |
| Árvore Binária | Operações de inserção, busca e travessia | include/tree.h, src/tree.c |
| Array Dinâmico | Redimensionamento automático | include/dictionary.h, src/dinamicArray.c |
| Nome | Melhor cenário | Pior cenário | Estável |
|---|---|---|---|
| Bubble Sort | O(n) | O(n²) | ✅ Sim |
| Insertion Sort | O(n) | O(n²) | ✅ Sim |
| QuickSort | O(n log n) | O(n²) | ❌ Não |
| MergeSort | O(n log n) | O(n log n) | ✅ Sim |