Este repositório foi criado para fins de aprendizado, com base no livro Estruturas de Dados & Algoritmos em Java de Michael T. Goodrich e Roberto Tamassia. As implementações são feitas em C para reforçar os conceitos estudados.
Cada estrutura de dados está organizada em pastas individuais com seu respectivo nome. Cada uma contém os seguintes diretórios e arquivos:
include/com os arquivos.h(headers)src/com os arquivos.c, incluindo omain.cbin/(inicialmente vazia), onde o executável será geradoMakefilepara facilitar a compilação
⚠️ As primeiras estruturas (LinkedList, Queue, Deque, Stack) foram feitas na época em que eu estava começando a estudar o assunto. Pretendo refazê-las futuramente de forma genérica, como fiz com a árvore.
- LinkedList (Lista Ligada)
- Queue (Fila)
- Deque (Deque)
- Stack (Pilha)
- BinaryTree (Árvore Binária Genérica)
O repositório está organizado da seguinte forma:
- LinkedList/
include/linkedList.hsrc/linkedList.csrc/main.cbin/(pasta onde o executável será gerado)Makefile
- Queue/
include/queue.hsrc/queue.csrc/main.cbin/Makefile
- Deque/
include/deque.hsrc/deque.csrc/main.cbin/Makefile
- Stack/
include/stack.hsrc/stack.csrc/main.cbin/Makefile
- Tree/
include/tree.hsrc/tree.csrc/main.cbin/Makefile
Para compilar e executar os testes básicos de cada estrutura de dados, siga os passos:
-
Clone este repositório:
git clone https://github.com/Nhoid/DataStructC
-
Navegue até a pasta da estrutura de dados desejada:
cd DataStructC/LinkedList -
Compile o programa utilizando o
Makefile:make
-
Execute o arquivo gerado na pasta
bin:./bin/main
Repita os passos acima para qualquer outra estrutura (como Queue, Deque, Stack, BinaryTree, etc).