Aplicacao dos sistemas embutidos
Neste presente projecto pretende-se implementar um sistema para uma rede social que tem como finalidade a gestão de amizades.
Após uma análise detalhada do problema proposto, pude definir as estruturas que por mim seriam usadas, que ao meu ver são as melhores para gerir, armazenar e manipular qualquer tipo de dados de uma forma eficiente e fiável no sistema. E por sua vez, este será capaz de resolver o problema de forma eficiente e económica (tanto temporal como espacialmente).
2. Objectivos
Nesta primeirá fase preetende-se estudar as estruturas de dados e algoritimos que permitem resolver eficientimente o problema proposto.
O sistema devera permitir ao utilizador que efectue as seguintes operações, atráves dos comandos que estão entre parenteses :
➢ Inserir uma pessoa (IP)
➢ Remover uma pessoa (RP)
➢ Pesquisar uma pessoa (PP)
➢ Inserir um amigo (IA)
Na inserção de um grupo também será feita a inserção das equipes correspondentes a esse grupo.
O sistema irá obedecer o esquema que será descrito abaixo:
Cada pessoa estará inserida dentro de uma lista simplesmente ligada, e na sua estrutura estará associada uma lista que referencia aos seus amigos.
Lista Simplesmente Ligada
Esta estrutura tem como objectivo facilitar a listagem de forma ordenada, visto que a tabela de dispersão não permite listar funções de forma ordenada.
3. Complexidades Temporais
➢ Inserir Pessoa:
Inserção na Lista Simplesmente Ligada: O(1).
➢ Inserir Amigo:
Inserção na Lista Simplesmente Ligada: O(1).
➢ Remover Pessoa:
Com sucesso: O(1) Sem sucesso: O(1)
➢ Pesquisar Pessoa :
Com sucesso: O(n) Sem sucesso: O(n)
4. Complexidades espaciais