Skip to content

maiqueli-mingoti/task-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gerenciador de Tarefas em C

Este é um projeto simples de um gerenciador de tarefas (to-do list) desenvolvido em linguagem C. A principal característica do projeto é o uso de uma Árvore Binária de Busca (ABB) para armazenar e organizar as tarefas, proporcionando eficiência em operações de busca, inserção e remoção.

Funcionalidades

  • Adicionar Tarefas: Insere novas tarefas na árvore.
  • Remover Tarefas: Exclui tarefas específicas usando seu ID.
  • Listar Tarefas Ativas: Exibe todas as tarefas com status "Ativa", ordenadas de forma crescente pelo prazo (timeLimit).
  • Listar Tarefas Concluídas: Exibe todas as tarefas com status "Concluída".
  • Busca Rápida: Encontra tarefas rapidamente pelo seu ID.
  • Limpeza Completa: Remove todas as tarefas da memória.

Estruturas de Dados

O projeto se baseia em duas estruturas de dados principais para funcionar:

  1. Árvore Binária de Busca (ABB): As tarefas são armazenadas nos nós de uma ABB. A chave de organização é o id da tarefa. Isso permite que as operações de busca, inserção e remoção tenham uma complexidade de tempo média de $O(\log n)$, tornando o sistema eficiente.

  2. Lista Encadeada Temporária: Para exibir as tarefas ativas ordenadas por prazo (timeLimit), o sistema percorre a árvore, insere as tarefas ativas em uma lista encadeada, ordena essa lista usando o algoritmo Bubble Sort e, em seguida, a exibe. A lista é destruída após o uso para liberar a memória.

Estrutura do Projeto

  • main.c: Arquivo principal que contém a interface do usuário e o loop de execução.
  • task.c: Contém a implementação de todas as funções que manipulam as tarefas (adicionar, remover, listar, etc.).
  • task.h: Arquivo de cabeçalho com as definições das estruturas Task e ActiveTaskList e os protótipos das funções.
  • CMakeLists.txt: Arquivo de configuração para o processo de build com CMake.

About

gerenciador de tarefas em C que utiliza uma Árvore Binária de Busca para armazenamento e manipulação de dados, com listagem de tarefas ativas ordenada por prazo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors