Estrutura de dados na ciência da computação é um formato de organização dos dados.
É uma coleção de valores discretos ou contínuos que transmitem informações, quantidade, qualidade, fato e estatísticas.
É um conjunto de dados pré-formatados.
Visa eficiência na organização, gerenciamento, armazenamento, processamento e apresentação de dados.
Conecta valores, relações entre valores, funções ou operações aplicadas a cada célula da estrutura.
Estruturas mais frequentes
Lista …
Estrutura abstrata linear de elementos de dados.
Heterogênea.
Pode representar um conjunto de nós.
Cada nó tem um conjunto de dados e metainformações
cada elemento aponta para outro do conjunto formando uma cadeia, é de fácil inserção e retirada de valores, muito usado para gestão de escopo, não aconsehável para algoritmos ou aplicações com um grande volume de dados
É uma forma forma de organização através da enumeração de dados para melhor visualização da informação.
Em informática, o conceito expande-se para uma estrutura de dados dinâmica, em oposição aos vetores, que são estruturas de dados estáticas. Assim, uma lista terá virtualmente infinitos elementos.
Numa lista encadeada existem dois campos. Um campo reservado para colocar o dado a ser armazenado e outro campo para apontar para o próximo elemento da lista. Normalmente a implementação é feita com ponteiros.
- pilha … último elemento inserido é o primeiro a ser retirado.
- fila … primeiro elemento a ser inserido é o primeiro a ser retirado.
Matriz (array ) … coleção não linear de elementos de dados aij, em formato tabular de m linhas e n colunas, índices usados para localizar e acessar qualquer forma célula de forma direta e não sequencial.
Estrutura de dados é uma abstração.
São formas ou formatos de representação de dados que podem ser quantitativos e/ou qualitativos para aumentar o desempenho do processamento e apresentação da informação, compreensão e aprendizagem.
É um componente linguagem, especificamente da sua sintaxe, que cuida das relações de concordãncia, subordinação e ordem dos argumentos (raciocínio) e enunciados (sumário, explicação).
Está no núcleio do sistema cognitivo humano, computacional e inteligência arA estrutura tificial.
A estrutura de dados que usamos, pensamos ou criamos espelha o modelo de pensamento ou algoritmo que usamos e influi diretamento no desempenho e compreensão da solução de problemas e tomas de decisões.
Afeta todas as funções cognitivas básicas como – atenção, percepção, pensamento, memória, linguagem, aprendizagem.
Todas as funções cognitivas e algoritmos comútacionais são afetadas e modelados e apresentam desempenho diferente para diferentes estruturas de dados ou modelagens mentasi que fazemos.
Um problema difícímo pode ser tornar bem mais ácil com a mudança da estrutura e linguagem da formulação e resolução adotadas.
iretamente o comportamento de pessoas e computadores.
O estudo,
Quando nos deparamos com uma estrutura de dados conhecida automaticamente adequamos o nosso pensamento, percepção e comportamento ao aobjeto do conhecimento.
É assim quando nos deparamos com várias diferentes estruturas de dados e informação como texto, tabela, mapa, check list,
Qual a diferença cognitiva?
Como podemos explorar esse entendimento e gerar vantagem copetitiva, agregar valor na interação com o objeto de cponhecimento e outros sujeitos.
Da mesma forma se comporta algoritmos computacionais. São dependentes de estruturas pré-concebidas.
O algoritmo computacional e o mental trabalham em função da estrutura do objeto de conhecimento e a estrutura de conhecimento em em função do algoritmo (ou sujeito).
O texto é um conjunto de palavras escritas comunicação humana , emocional, subjetiva
A variável é um componente matemático ou símbolo que representa um número arbitrário, quando passa por diferentes estados de grandeza.
Não existe uma estrutura melhor do que outra.
Cada um desses modelos, formatos de dados, estão fundamentados métodos, ferramentas técnicas, habilidadesformatos pressupõe um tipo de pensamento, uma forma algoritmica de pensar, formular problemas, soluções, monitorar, analisar
Matriz
Uma tabela de m linhas com n colunas.
Ordem específica.
Cada elemento da matriz (célula) pode ser ou não do mesmo tipo.
Os elementos são acessados por índices.
Podem ser de comprimento fixo ou redimensionável.
É um conjunto de vetores (matrizes de uma dimensão).
As matrizes são mais do que objetos estáticos, que gravam informações e dados.
Matrizes representam funções que agem em vetores transformando-os em outros vetores (tal como explora o aplicativo Excel).
Existem várias tipos de matrizes e várias operações entre matrizes, que permitem modelar e simular sistemas representados por matrizes.
Aplicações da Matriz
Matrizes são encontradas em todos os campos científicos.
Na teoria da probabilidade e estatística, matrizes estocásticas são usadas para descrever os conjuntos de probabilidades de eventos.
Em computação, as matrizes são usadas em algoritmos de rankeamento de páginas
Podem ser usadas para modelar sistemas estocáticos, crescimento populacional, grafos, etc.
Representar um conjunto de variáveis aleatórias, com a propriedade de que a distribuição de probabilidade do próximo estado depende apenas do estado atual e não da sequência de eventos.
A definição dessa propriedade, também chamada de memória markoviana, é que os estados anteriores são irrelevantes para a predição dos estados seguintes, desde que o estado atual seja conhecido.
Essa propriedade Cadeias de Markov têm muitas aplicações como modelos estatísticos de processos do mundo real.
Lista Vinculada
Arvore
É uma estrutura de dados não linear, que descreve conexões (relacionamentos) de elementos (nós) de forma hieráquica (pai e filho).
Não existe círculos ou loops … nenhum nó pode ser seu próprio ancestral.
É eficiente coputacionalmente (diferente dos grafos), fácil de representar e processar.
Modela muitos problemas reais … serve para muitas aplicações.
Exemplos … processos, procedimentos, atividades, árvores genealógicas, algoritmos, estrutura de arquivo ou pastas, interfaces gráficas, banco de dados, sites na internet, etc.
Estrutura formada por nó raíz, nó ramo e nó folha.
Facilita a recursividade.
Existem várias linguagens ou repreentações de árvores … grafos, conjuntos, listas, etc.
Arvores binárias são muito usadas … onde um nó pai pode ter no máximo dois filhos.
Aplicações das Árvores
- Mapear relações entre coisas, todo, parte, componente, subcomponente.
- Descrever sistemas de arquivo, estruturas de diretório.
- Definir sintaxe de linguagens de computador ou artificiais.
- Servir de modelo para processar linguagem natural.
- Modelar linguagens digitais.
- Servir de árvore de estrutura de dados de pesquisa.
- Computação gráfica.
- Estruturar e acessar banco de dados
- Aninhar conjuntos e hierarquias.
- Taxonomizar, categorizar e classificar
- Memorizar.
- Representar estruturas e hierarquias matemáticas.
- Definir ou pesquisar caminhos ou rotas num grafo.
- Posicionar e acionar subrotinas.
- Descrever roteiros e scripts.
- etc.
Indicadores e Operações em Árvore
Tamanho da árvore … número de nós na árvore.
Altura … distância mais longa do dó a uma folha.
Profundidade … nível do nó, distância do nó a raiz.
Vizinho … pai ou filho.
Antecessor … nó acessível de filho para pai.
Descendente … nó acessível pai para filho.
Grau … número de filhos do nó.
Gráu da árvore … grau máximo de um nó na árvore.
Distância … número de arestas do caminho mais curto entre dois nós.
Largura … número de nós em um nível.
Folhagem … número de folhas.
Floresta … conjunto de uma ou mais árvores disjuntas.