Márcio Soussa marcio.soussa10@gmail.com Estrutura de Dados Márcio Soussa marcio.soussa10@gmail.com
Introdução Problemas Reais
Introdução Implementação de uma Solução Computacional Abstração da Realidade Selecionar dados necessários à aplicação, desprezando dados que não são importantes no contexto Ex: Cadastro de Empregados Dados utilizados: nome, cpf, endereço Dados não utilizados: cor do cabelo, altura Representar os dados em alguma estrutura de dados Definição dos algoritmos mais adequados à estrutura de dados escolhida
Introdução Como representar dados? não é uma tarefa muito trivial não existe uma única solução depende dos recursos do computador e das operações a serem realizadas Exemplo: representação dos números romanos arábicos dígitos binários
Estruturas de Dados Qual o Papel das Estruturas de Dados no processo de desenvolvimento de um algoritmo? Temos parecidos, mas com significados diferentes: Tipo de Dado Estrutura de Dado Tipo Abstrato de Dado (TAD)
Estruturas de Dados Tipo de Dado definem o conjunto de valores possíveis métodos para interpretar o conteúdo da memória do computador definidos em termos do que o computador pode fazer Ex: variável Boolean que pode assumir os valores true ou false
Estruturas de Dados Estrutura de Dado É constituída dos tipos básicos ou dos tipos estruturados de uma linguagem de programação Vetor Registro Pilha Árvore
Estruturas de Dados Tipos Abstratos de Dados (TAD) conceito de Tipo de Dado dissociado da implementação (do hardware) definido em termos do que os usuários desejam fazer um modelo matemático: um conjunto de valores + um conjunto de operações definidas sobre os valores Ex: tipo “Ponto” com operações: Criar Excluir Plotar em tela Mover
Algoritmo Um algoritmo é projetado em termos de Tipos Abstratos de Dados Para implementá-los em uma Linguagem de Programação: Encontrar uma forma de representá-los através de Tipos e Operações suportadas pelo computador
Algoritmo e Estruturas de Dados No processo de construção de programas: formulação do algoritmo definição de estruturas de dados estão intimamente ligadas
Algoritmo e Estruturas de Dados Decisões sobre escolha das estruturas de dados não podem ser tomadas sem conhecimento dos algoritmos aplicados e vice-versa Estruturas de Dados: forma como a informação é organizada, como será manipulada e como será utilizada