124 capítulos
Medium 9788577803811

3.4 listas lineares encadeadas

Nina Edelweiss, Renata Galante Grupo A PDF Criptografado

88

3.4

Estruturas de Dados

listas lineares encadeadas

Nas seções anteriores foi visto que se pode utilizar um arranjo para representar um conjunto de dados contíguos. O arranjo é uma das formas de representação de listas que aproveita a seqüencialidade da memória, ou seja, ocupa um espaço contíguo na memória e permite acessar qualquer um de seus elementos. Entretanto, não é uma estrutura muito flexível, pois é necessário fazer uma estimativa do número máximo de nodos da lista. Uma alternativa é usar uma estrutura de dados que cresça conforme seja necessário inserir novos nodos e que igualmente diminua quando nodos anteriormente inseridos são excluídos. Essas estruturas de dados são denominadas estruturas dinâmicas e armazenam cada nodo da lista por alocação dinâmica de memória.

Uma forma de implementar estruturas dinâmicas é através do encadeamento, onde os nodos são ligados entre si para indicar a ordem existente entre eles.

Assim, a ordem dos nodos é definida por uma informação contida no próprio nodo, que informa qual o próximo nodo da lista. Esta informação está contida em um campo denominado campo de elo. Os nodos de uma lista encadeada podem estar alocados em quaisquer posições na memória, contíguas ou não, uma vez que a ordem é fornecida explicitamente através do campo de elo, sendo totalmente independente de sua posição física. Dessa forma, a contigüidade de uma lista linear encadeada é lógica.

Ver todos os capítulos
Medium 9788582600245

Capítulo 1 - Introdução e conceitos básicos

Paulo Blauth Menezes Grupo A PDF Criptografado

capítulo

1

introdução e conceitos básicos

Este capítulo faz uma apresentação da matemática discreta, de sua importância, de seus conceitos básicos e de seus usos. Também apresenta uma revisão dos conceitos básicos de teoria dos conjuntos, pré-requisitos para todo o texto subsequente. Esses conceitos básicos são instanciados em alguns fundamentos de computação e informática como alfabetos, palavras e linguagens e ilustram o seu uso em linguagens de programação como Pascal.

■ ■

2

Matemática Discreta para Computação e Informática

1.1

introdução à matemática discreta

Praticamente qualquer estudo em computação e informática, teórico ou aplicado, exige como pré-requisito conhecimentos de diversos tópicos de matemática. Tal fato é normalmente explicitado na maioria dos livros de computação e informática, sendo que alguns possuem um capítulo específico em que tais tópicos são resumidamente introduzidos.

A importância da matemática é explicitada nas Diretrizes Curriculares do MEC para cursos de computação e informática (Brasil, [20--?]), como segue (a matéria matemática é integrante da área de formação básica):

Ver todos os capítulos
Medium 9788577808243

10. conclusões

Tiarajú Asmuz Diverio, Paulo Blauth Menezes Grupo A PDF Criptografado

Capítulo 10

Conclusões

277

formalismo equivalente às máquinas universais. Por fim, o livro trata da computabilidade e do estudo da solucionabilidade de problemas. Os problemas podem ser divididos em problemas solucionáveis (existe um algoritmo que resolva o problema, para qualquer entrada) e os não solucionáveis (não existe um algoritmo que sempre resolva o problema). Ou, alternativamente, podem ser divididos em problemas parcialmente solucionáveis (computáveis) e problemas completamente insolúveis (não computáveis).

10.1

resumo dos principais conceitos

O principal conceito estudado é o de computabilidade, o qual é construído usando noções de programas, máquinas e computações. São três conceitos distintos, mas diretamente relacionados, pois um programa para uma máquina pode induzir uma computação. Se ela for finita, então se define ainda a função computada por esse programa nessa máquina: ela descreve o que o programa faz.

A distinção entre programa e máquina é importante na ciência da computação, uma vez que o programa (ou algoritmo) independe da máquina e possui uma complexidade estrutural e computacional (quantidade de trabalho necessário para resolver o problema).

Ver todos os capítulos
Medium 9788577807659

Capítulo 7 - Propriedades e reconhecimentodas linguagens livres do contexto

Paulo Blauth Menezes Grupo A PDF Criptografado

capítulo

7

propriedades e reconhecimento das linguagens livres do contexto

A classe das linguagens livres do contexto contém propriamente a classe das linguagens regulares e compreende a sintaxe da maioria das linguagens de programação de propósitos gerais.

Portanto, é uma classe especialmente importante e o estudo de suas propriedades é central no estudos das linguagens formais, com destaque para as operações fechadas nesta classe e algoritmos de reconhecimento.

■ ■

194

Linguagens Formais e Autômatos

Embora a classe das linguagens livres do contexto contenha propriamente a classe das linguagens regulares, ainda é relativamente restrita. De fato, é fácil definir linguagens que não são livres do contexto, como, por exemplo: a Palavra duplicada. Linguagem especialmente importante para computação e informática, pois permite estabelecer analogia com questões similares presentes em diversas linguagens de programação (em geral, verificações semânticas). Por exemplo, garantir a declaração de uma variável antes do seu uso. A linguagem é a seguinte:

Ver todos os capítulos
Medium 9788582600245

Capítulo 10 - Álgebras e homomorfismos

Paulo Blauth Menezes Grupo A PDF Criptografado

capítulo

10

álgebras e homomorfismos

Embora o conceito formal de álgebra seja relativamente simples, sua completa caracterização resulta em um nível de abstração relativamente alto.

Assim, o conceito de álgebra é construído do concreto para o abstrato. Tão importante quanto o conceito de álgebra é o de homomorfismo de álgebras, que é um mapeamento de álgebras (estruturalmente similares), preservando as suas estruturas.

Neste contexto, são discutidas algumas construções fundamentais como fecho de Kleene, grafo e categoria. Como leitura complementar, é apresentada uma importante aplicação do conceito de álgebra e homomorfismo de

álgebras no contexto de sintaxe e semântica de linguagens.

■ ■

246

Matemática Discreta para Computação e Informática

Relativamente às álgebras, já foi comentado que: a Álgebra, desde a sua origem até a sua forma atual, refere-se a cálculos. Com limitações,

é desenvolvida de maneira informal ou formal em praticamente todos os níveis de escolaridade. Por exemplo, as operações aritméticas básicas (adição, multiplicação etc.) sobre o conjunto dos números reais constituem uma álgebra; b Historicamente, o estudo das álgebras, em computação e informática, destaca-se a partir de 1950, com o desenvolvimento da teoria dos autômatos e linguagens formais. De certa forma, toda a computação e informática é baseada, direta ou indiretamente, sobre

Ver todos os capítulos

Visualizar todos os capítulos