Home » Títulos » Colecção Tecnologias » Algoritmia e Estruturas de Dados - Programação nas Linguagens C e Java

O Algoritmia e Estruturas de Dados

Algoritmia e Estruturas de Dados - Programação nas Linguagens C e Java

Autores: José Braga de Vasconcelos, Vidal de Carvalho
Nº Páginas: 328
ISBN: 989-615-012-5
Dep Legal: 232.222/05
Preço (papel):
22,20 Euros
Data da 1ª Edição: Set/2005
Colecção: Tecnologias

 

22,20 Euros

Novo
13,32 Euros Manuseado

 
Introdução
O mais completo e actualizado livro português sobre algoritmos e estruturas de dados, lineares e não lineares, com dezenas de exemplos em pseudocódigo e nas linguagens de programação C e Java. Destinado quer a estudantes quer a profissionais do sector das Tecnologias da Informação.

Este livro foi preparado e concebido para ser utilizado como objecto de estudo em diferentes áreas de conhecimento, dado que apresenta a disciplina de algoritmia como requisito fundamental à resolução de problemas do mundo real. Contudo, tem especial interesse para docentes, alunos e formandos nas áreas das ciências da computação, nomeadamente sistemas de informação, matemáticas aplicadas e cursos de engenharia.

Este livro procura dotar futuros profissionais com as componentes de raciocínio e abstracção necessárias à resolução de problemas. Explora a análise e as técnicas essenciais à concepção de algoritmos e à especificação formal de estruturas de dados lineares e não lineares. Neste sentido, os autores introduzem uma componente prática baseada na apresentação de um conjunto alargado de algoritmos resolvidos. A implementação dos algoritmos é efectuada através das linguagens de programação C e Java, também apresentadas neste livro.

 Índice 
ÍNDICE DE FIGURAS

ÍNDICE DE TABELAS

1. ALGORITMIA E A MODELAÇÃO DE PROBLEMAS

  1.1 A noção formal de algoritmo
1.2 A Algoritmia como Ciência da Computação
1.3 Algoritmos, computadores e programação
1.4 Características de um Algoritmo
1.5 Modelação algorítmica e a resolução de problemas
   1.5.1 A Algoritmia e a Engenharia de Software
   1.5.2 Aproximação descendente
1.6 Componentes de um algoritmo
1.7 Linguagens de representação algorítmica
   1.7.1 Linguagem natural
   1.7.2 Pseudocódigo
   1.7.3 Notação gráfica
1.8 Métodos de concepção algorítmica
   1.8.1 Método iterativo
   1.8.2 Método recursivo
   1.8.3 Iteração vs recursão
1.9 Análise da complexidade algorítmica
   1.9.1 Objectivos da análise algorítmica
   1.9.2 Métodos de avaliação algorítmica
   1.9.3 Avaliação da complexidade de um algoritmo
2. TIPOS E ESTRUTURAS DE DADOS
  2.1 Estruturas de Dados
2.2 Tipos de dados e estruturas de dados
   2.2.1 Tipo de dados booleano
   2.2.2 Tipo de dados numérico
   2.2.3 Tipo de dados alfanumérico
   2.2.4 Ponteiros
2.3 Representação dos dados em memória
   2.3.1 Representação Simbólica
   2.3.2 Representação Numérica
   2.3.3 Informação Contextual
2.4 Estruturas de dados complexas
   2.4.1 Vectores
   2.4.2 Matrizes
2.5 Conjuntos e Dicionários 
2.6 Tipos de Dados Abstractos
3. REPRESENTAÇÃO E NOTAÇÃO ALGORÍTMICA
  3.1 Pseudocódigo e programação estruturada
   3.1.1 Desenvolvimento de um algoritmo
3.2 Notação algorítmica
   3.2.1 Identificadores
   3.2.2 Variáveis
   3.2.3 Constantes
   3.2.4 Instrução de atribuição
   3.2.5 Leitura e escrita de dados
   3.2.6 Operações e Expressões Aritméticas
   3.2.7 Operadores e operações relacionais
   3.2.8 Operadores e operações lógicas
   3.2.9 Finalização do Algoritmo
3.3 Estruturas Lógicas de um Algoritmo
   3.3.1 Estrutura sequencial
   3.3.2 Estrutura condicional
   3.3.3 Estruturas de repetição
3.4 Modularização - Definição de subalgoritmos
   3.4.1 Funções
   3.4.2 Procedimentos
   3.4.3 Parâmetros de entrada e saída
3.5 Notação Gráfica (Fluxogramas)
   3.5.1 Fluxogramas vs. Estruturas de controlo
3.6 Prova e Teste de Algoritmos
3.7 Algoritmos propostos
4. ORDENAÇÃO E PESQUISA
  4.1 Ordenação
   4.1.1 Ordenação Bubble sort
   4.1.2 Ordenação Quick Sort
   4.1.3 Ordenação Selection Sort
   4.1.4 Ordenação insertion Sort
  
4.1.5 Análise comparativa de desempenho
4.2 Pesquisa
   4.2.1 Pesquisa Sequencial (linear)
   4.2.2 Pesquisa Binária
   4.2.3 Análise comparativa de desempenho
4.3 Algoritmos propostos
5. PILHAS E FILAS
  5.1 Pilhas
   5.1.1 Campos de aplicação das pilhas
   5.1.2 Implementação da pilha com vector
   5.1.3 Operações básicas das pilhas
5.2 Filas
   5.2.1 Campos de aplicação das filas
   5.2.2 Implementação de fila com vector
   5.2.3 Operações básicas das filas
   5.2.4 Fila circular
   5.2.5 Fila dupla
5.3 Algoritmos propostos
6. REPRESENTAÇÃO ENCADEADA DE ESTRUTURAS DE DADOS LINEARES
  6.1 Estruturas de dados encadeadas
   6.1.1 Tipos de listas
   6.1.2 Variáveis ponteiro
   6.1.3 Pilha de nodos disponíveis
6.2 Listas lineares simplesmente encadeadas
6.3 Listas lineares circulares simplesmente encadeadas
6.4 Listas lineares duplamente encadeadas
6.5 Listas lineares duplamente encadeadas circulares
6.6 Algoritmos propostos
7. ESTRUTURAS DE DADOS NÃO LINEARES
  7.1 Árvores e Grafos
   7.1.1 Definição recursiva de árvore
   7.1.2 Notação, terminologia e propriedades
   7.1.3 Formas de representação de árvores M-árias
7.2 Árvores Binárias
   7.2.1 Definição e características
   7.2.3 Representação encadeada de árvores binárias
   7.2.4 Travessia de árvores binárias
   7.2.5 Travessia com Algoritmos iterativos
   7.2.6 Travessia com Algoritmos recursivos
   7.2.7 Inserção ordenada
   7.2.8 Árvores binárias de pesquisa
7.3 Grafos
   7.3.1 Tipos e características de um grafo
   7.3.2 Representação de grafos
   7.3.3 Algoritmos para travessia de um grafo
7.4 Algoritmos propostos
8. ALGORITMIA E PROGRAMAÇÃO
  8.1 Estruturas de dados, algoritmos e programação
8.2 Linguagem de Programação C
   8.2.1 Características da Linguagem C
   8.2.2 Estrutura de um programa em C
   8.2.3 Tipos primitivos de dados
   8.2.4 Constantes
   8.2.5 Variáveis
   8.2.6 Expressões
   8.2.7 Comandos básicos
   8.2.8 Estruturas de controlo
   8.2.9 Matrizes (arrays)
   8.2.10 Cadeias de caracteres (strings)
   8.2.11 Ponteiros e endereços
   8.2.12 Subalgoritmos
   8.2.13 Estruturas
   8.2.14 Algoritmos de ordenação em C
   8.2.15 Algoritmos de pesquisa em C
   8.2.16 Algoritmos de manipulação de pilhas em C
   8.2.17 Algoritmos de manipulação de filas em C
   8.2.18 Algoritmos de manipulação de listas em C
   8.2.19 Outros Algoritmos
8.3 Linguagem de Programação JAVA
   8.3.1 JAVA Virtual MACHINE
   8.3.2 JAVA: Linguagem orientada aos objectos
   8.3.3 Estrutura de um programa JAVA
   8.3.4 Exemplos de codificação e implementação de classes JAVA
   8.3.5 Especificação de tipos

BIBLIOGRAFIA


 CV dos Autores  
José Braga de Vasconcelos é doutorado em Ciências da Computação pela Universidade de York (UK). Após o doutoramento produziu e apresentou diversas publicações em conferências e revistas científicas na área de Gestão de Conhecimento Organizacional. Actualmente é Professor Associado na Faculdade de Ciência e Tecnologia da Universidade Fernando Pessoa, e membro fundador do Grupo de Investigação e Desenvolvimento (I&D) em Informática Médica (GIMED). Prestou também consultoria em Sistemas de Informação e Engenharia de Software em empresas. Ultimamente, além da sua área de investigação em Gestão e Modelação de Competências Organizacionais, tem vindo a exercer I&D na área de Sistemas de Informação para a Saúde.

João Vidal de Carvalho é mestre em Informática de Gestão pela Escola de Engenharia da Universidade do Minho. Eq. Prof. Adjunto no Instituto Politécnico do Porto (ISCAP), onde lecciona desde 1998. Responsável pelas disciplinas da área de Informática para a Gestão. Actualmente desenvolve investigação na área de Sistemas de Informação. É co-autor dos livros Desenho e Implementação de Bases de Dados com Microsoft Access e Microsoft Access 2003 igualmente editados pelo Centro Atlântico.


 Comentários dos Leitores  
'Algoritmia e Estruturas de Dados' é um livro bem conseguido, escrito por
dois professores experientes em diversas áreas das ciências da computação.
Este livro poderá servir tanto para entrar no mundo da algoritmia, como de referência para trabalhos futuros.

revista Programar - Novembro de 2006
Copyright @ 2010, Centro Atlântico, Lda. Todos os direitos reservados. Prezamos a sua Privacidade.