E-BOOK Estrutura de Dados e Outros Objetos Usando Java - Tradução da 4ª Edição (envio por e-mail)
PRODUTO DIGITAL PARA DOWNLOAD. RECEBERÁ O LINK E AS INSTRUÇÕES VIA E-MAIL EM ATÉ 2 DIAS ÚTEIS APÓS A CONFIRMAÇÃO DA COMPRA.
NÃO REALIZAMOS DEVOLUÇÕES DESTE PRODUTO.
ANTES DE COMPRAR VERIFIQUE SE SEU PC OU DISPOSITIVO ESTÁ APTO À BAIXAR O ARQUIVO. VEJA MAIS EM INFORMAÇÕES ABAIXO.
*CASO TENHA ESCOLHIDO JUNTO AO E-BOOK UM PRODUTO FÍSICO, O MESMO APARECERÁ NO CARRINHO COM O PRAZO DE ENTREGA E O CUSTO DO FRETE
NESTE CASO, A OPÇÃO ENVIO POR EMAIL DESAPARECERÁ , POREM NÃO SE PREOCUPE, POIS SEU E-BOOK SERÁ ENVIADO EM ATÉ 2 DIAS ÚTEIS PARA O SEU EMAIL .
VITRINE Os TOP de vendas !!
Quem viu este produto , comprou
-
Java Fundamental - Aprenda como programar na linguagem Java usando boas práticas
VITRINE Os TOP de vendas !!
-
Ant em Ação - 2ª Edição de Java Development com Ant Ant em Ação - 2ª Edição de Java Development com
VITRINE Os TOP de vendas !!
Semana do Consumidor
-
VITRINE Os TOP de vendas !!
-
POJOS em Ação - Como Desenvolver aplicações Corporativas com Frameworks Leves
VITRINE Os TOP de vendas !!
-
VITRINE Os TOP de vendas !!
Esteja você interessado em aprender sobre integração com AJAX2, desenvolvimento voltado a extensões (plug-ins), ou apenas em construir aplicativos web de qualidade, não consigo pensar em ninguém melhor que Ian para ser seu guia. ... Ler mais +
QUERO VER -
VITRINE Os TOP de vendas !!
-
Java Simplificado Java Simplificado Java Simplificado Java Simplificado
VITRINE Os TOP de vendas !!
-
Tutorial do J2EE Enterprise Edition 1.4 Traduzido da Segunda Edição Americana
VITRINE Os TOP de vendas !!
-
Guia de Certificação em Java - Exame CX 310-035
VITRINE Os TOP de vendas !!
Este Guia de Certificação em Java é um livro fundamental para preparar os candidatos ao exame de programador Java da Sun, a primeira e mais requisitada certificação desta tecnologia. Cada um dos tópicos do exame são apresentados de forma clara e direcionada às dificuldades que podem ser encontradas na prova. ... Ler mais +
QUERO VER -
Java Persistence com Hibernate (Edição revisada e ampliada de Hibernate em Ação)
VITRINE Os TOP de vendas !!
Java Persistence com Hibernate explora o Hibernate desenvolvendo uma aplicação que une centenas de exemplos individuais. O leitor irá imediatamente aprofundar-se no rico modelo de programação do Hibernate 3.2 e do Java Persistence, trabalhando bastante com consultas, estratégias de recuperação, cacheamento, transações, conversações e muito mais. Poderá também apreciar a bem-ilustrada discussão de boas práticas em projetos de bancos de dados, mapeamento objeto/relacional e técnicas de otimização. Nesta edição revisada do grande sucesso Hibernate em Ação, os autores Christian Bauer e Gavin King – fundador do projeto Hibernate – abordam o Hibernate 3.2 em detalhes junto com os padrões EJB 3.0 e Java Persistence. O livro finaliza em uma cobertura detalhada do JBoss Seam, um revolucionário framework de aplicação web para Java EE que se baseia nos conceitos EJB 3.0, JavaServer Faces e Hibernate. ... Ler mais +
QUERO VER -
Desenvolvendo Aplicações Comerciais em Java com Java J2EE e UML
VITRINE Os TOP de vendas !!
-
Explorando Elasticsearch com Java - Introdução ao desenvolvimento para Big Data
VITRINE Os TOP de vendas !!
Quem viu este produto , também se interessou
-
Java Simplificado Java Simplificado Java Simplificado Java Simplificado
VITRINE Os TOP de vendas !!
-
POJOS em Ação - Como Desenvolver aplicações Corporativas com Frameworks Leves
VITRINE Os TOP de vendas !!
-
Java Persistence com Hibernate (Edição revisada e ampliada de Hibernate em Ação)
VITRINE Os TOP de vendas !!
Java Persistence com Hibernate explora o Hibernate desenvolvendo uma aplicação que une centenas de exemplos individuais. O leitor irá imediatamente aprofundar-se no rico modelo de programação do Hibernate 3.2 e do Java Persistence, trabalhando bastante com consultas, estratégias de recuperação, cacheamento, transações, conversações e muito mais. Poderá também apreciar a bem-ilustrada discussão de boas práticas em projetos de bancos de dados, mapeamento objeto/relacional e técnicas de otimização. Nesta edição revisada do grande sucesso Hibernate em Ação, os autores Christian Bauer e Gavin King – fundador do projeto Hibernate – abordam o Hibernate 3.2 em detalhes junto com os padrões EJB 3.0 e Java Persistence. O livro finaliza em uma cobertura detalhada do JBoss Seam, um revolucionário framework de aplicação web para Java EE que se baseia nos conceitos EJB 3.0, JavaServer Faces e Hibernate. ... Ler mais +
QUERO VER -
Tutorial do J2EE Enterprise Edition 1.4 Traduzido da Segunda Edição Americana
VITRINE Os TOP de vendas !!
-
Guia Completo de estudos para Certificação em Java 2
VITRINE Os TOP de vendas !!
-
Ant em Ação - 2ª Edição de Java Development com Ant Ant em Ação - 2ª Edição de Java Development com
VITRINE Os TOP de vendas !!
Semana do Consumidor
-
Guia de Certificação em Java - Exame CX 310-035
VITRINE Os TOP de vendas !!
Este Guia de Certificação em Java é um livro fundamental para preparar os candidatos ao exame de programador Java da Sun, a primeira e mais requisitada certificação desta tecnologia. Cada um dos tópicos do exame são apresentados de forma clara e direcionada às dificuldades que podem ser encontradas na prova. ... Ler mais +
QUERO VER -
Aprendendo Java por meio de Conceitos e Exemplos Aprendendo Java por meio de Conceitos e Exemplos
VITRINE Os TOP de vendas !!
-
OCA/OCP Java SE 7 Guia de Estudo do Programador I & II (Exames 1Z0-803 & 1Z0-804)
VITRINE Os TOP de vendas !!
-
Persistência no Spring com Hibernate
VITRINE Os TOP de vendas !!
Este livro não só ensinará as funcionalidades do Spring 3 e do Hibernate 3.5, mas também guiará você pelos passos essenciais da construção de uma aplicação real – atendendo a armadilhas e considerações comuns ao longo do caminho. Nós apresentaremos melhores práticas e truques que aprendemos ao longo de anos de experiência prática e que você também pode aplicar em seus próprios projetos. Como bônus, você também aprenderá sobre dois empolgantes projetos de estado da arte construídos sobre o Spring e o Hibernate: o Grails e o Roo. ... Ler mais +
QUERO VER -
VITRINE Os TOP de vendas !!
-
Sun Certified Java Programmer - Guia do Exame SCJP
VITRINE Os TOP de vendas !!
- DescriçãoE-BOOK Estrutura de Dados e Outros Objetos Usando Java - Tradução da 4ª Edição
*** MUITO IMPORTANTE ***
APÓS A SUA COMPRA VOCÊ RECEBERÁ UM LINK, ENVIADO PARA O SEU E-MAIL, CONTENDO O E-BOOK ADQUIRIDO.
ANTES DE CLICAR NO LINK É NECESSÁRIO QUE TENHA INSTALADO E AUTENTICADO EM SEU COMPUTADOR OU DISPOSITIVO DE LEITURA, O ADOBE DIGITAL EDITION, SOFTWARE FREE NECESSÁRIO PARA LER E-BOOKS NO FORMATO PDF/DRM.
NOSSOS E-BOOKS PODEM SER INSTALADOS EM ATÉ 6 EQUIPAMENTOS DISTINTOS, DESDE QUE SEJA USADO A MESMA SENHA E ID CADASTRADO NO PRIMEIRO DOWNLOAD DO ADE.
VEJA NA ABA INFORMAÇÕES COMO FAZER O DOWNLOAD DO ADOBE DIGITAL EDITION E AUTENTICA-LO.
Descrição
“Estrutura de Dados e Outros Objetos Usando Java” é uma introdução gradual do compilador “Just-in-Time” para um curso de Cs2.
Cada capítulo fornece uma revisão sintática e com os aspectos básicos de um programa orientado a objeto, transmitindo aos estudantes a base para o entendimento de importantes conceitos de programação. Com este framework, eles serão capazes de realizar a escrita de estrutura de dados funcionais, utilizando um método de cinco passos para trabalhar com o tipo de dado: entender o tipo de dado abstrato; escrever sua especificação; utilizar o tipo de dado; projetar e implementar; e analisar a execução. Os estudantes aprendem a analisar analiticamente a eficiência e eficácia do projeto, enquanto ganham exposição em bibliotecas úteis de classes Java.
A Flexibilidade da obra permite aos instrutores planejar suas aulas com certa ênfase na cobertura inicial de recursão e classificação, ou acelerar o ritmo do curso.
O programa Orientado a Objeto é enfatizado até o início e cobertura completa de classes Java;
Mostra aos estudantes como escrever Applets Java para testar estruturas de dados recém-implementadas.
Conjuntos de Projetos de Programação estão incluídos em cada capítulo.
Cada capítulo fornece uma revisão com os aspectos fundamentais de um programa orientado a objeto e uma revisão de sintaxe. - Sobre o Autor
- Especificação
Características
Tipo de Livro Livro Digital / E-book Especificações
Sobre o Autor Michael Main
Michael Main é um Professor associado do Departamento de Ciência da Computação da Universidade do Colorado – Boulder. Conquistou seu BS (Bacharelado), MS (Mestrado) e Ph.D na Universidade Estadual de Washington.Informações Técnicas INSTRUÇÕES PARA BAIXAR E-BOOKS DA EDITORA CIÊNCIA MODERNA
Preparando seu PC (Mac ou Windows) para baixar seu E-Book.
Antes de fazer a compra de seu E-Book, baixe e instale e autentique o Adobe Digital Editions em seu computador, através do link:
http://www.adobe.com/br/products/digitaleditions/.
Todas as instruções necessárias para download e instalação do Adobe Digital Editions, estão disponíveis em português através do link:
http://www.adobe.com/br/products/digitaleditions/help/#transfer_sony_reader.
NOTA: E-BOOKS NÃO SÃO COPIÁVEIS E TÃO POUCO IMPRESSOS
Para baixar e ler seus e-books em dispositivos Android, recomendamos baixar o DL Reader, sempre utilizando a sua ID e Senha Adobe utlizada para baixa o ADE para seu desktop.
https://play.google.com/store/apps/details?id=com.datalogics.dlreader&hl=pt-br
Para baixar seus ebooks para I Phone e IPad, utilizando sempre a sua ID e Senha Adobe., recomendamos utilizar o aplicativo Blue Fire.
https://itunes.apple.com/br/app/bluefire-reader/id394275498?mt=8
Não execute o link de seu e-book enquanto não estiver com os ícones dos aplicativos devidamente instalados e autenticados em seu desktop.
Sobre os Dispositivos de Leitura (e-Readers)
Nossos livros digitais (E-Books) podem ser baixados e abertos em todos os dispositivos de leitura, compatíveis com o Adobe Digital Editions. No mercado brasileiro, facilmente encontramos o Coo-ler da Gato Sabido e o Positivo Alfa. Uma lista complete poderá se encontrada no link:
http://blogs.adobe.com/digitalpublishing/supported-devices.
Transferência de Itens entre Computadores
Se você autorizou seu computador, o Adobe Digital Editions não "bloqueia" seus E-Books e outras publicações digitais desse computador – elas são atribuídas a você por meio de sua ID Adobe. Isso significa que você pode transferir itens da biblioteca para 6 (seis) computadores ou dispositivos móveis compatíveis (como um Sony® Reader).
Antes de poder transferir itens entre computadores, você deve autorizar os computadores com sua ID Adobe.
Observação: os marcadores não são copiados quando os itens são transferidos para outro computador.
Para transferir um item de biblioteca para outro computador autorizado:
1. No computador para o qual está transferindo, localize e abra a pasta My Digital Editions, que se encontra dentro da pasta Meus Documentos.
2. Selecione os arquivos EPUB ou PDF que correspondem aos títulos eBook que deseja transferir.
3. Copie os arquivos selecionados para uma mídia portátil como uma unidade flash, ou envie por e-mail para o computador de destino.
4. No computador de destino, copie os arquivos EPUB ou PDF para a pasta Meus Documentos\My Digital Editions.
5. Abra o Adobe Digital Editions no computador de destino. Selecione Biblioteca > Adicionar item, em seguida navegue para a pasta My Digital Editions e selecione os novos arquivos para colocar na biblioteca.
Sistema Necessário para a Versão Windows do Adobe Digital Editions
Processador: Intel® Pentium® de 500MHz (ou mais rápido)
Sistema operacional:
o Windows 7
o Windows Vista
o Windows XP SP2 (ou superior)
o Microsoft Windows 2000 com Service Pack 4
Memória: 128 MB de RAM (mínimo)
Navegador:
o Internet Explorer 6 (ou superior)
o Firefox 2 (ou superior)
Software adicional: Adobe Flash Player 7 (ou superior)*
* Windows 7 e Windows Vista necessitam utilizar o Flash 9.0.28 ou superior.
Sistema Necessário para a Versão Apple Mac do Adobe Digital Editions
Para Mac família Intel® (Mais recentes)
o Mac OS X v10.4.11 (Tiger) ou mais novo.
o 128MB de RAM
o Qualquer processador da família Intel® para Mac é suportado
o Navegador Safari 4 ou Mozilla Firefox 3
Para Mac família PowerPC (Mais antigos)
o Mac OS X v10.4.11 (Tiger) ou mais novo
o 128MB de RAM
o Processador PowerPC® G4 ou G5 de 500Mhz
o Navegador Safari 4 ou Mozilla Firefox 3
Informações Adicionais
Através do link Fale Conosco no rodapé do nosso site .
Sumário
Capítulo 1: Fases do Desenvolvimento de Software -1
1.1 Especificação, Projeto, Implementação - 4
Técnica de Projeto: Decomposição do Problema - 5
Como Escrever uma Especificação para um Método de Java - 7
Dica de Programação - 10
Conversão de Temperatura: Implementação - 11
Dica de Programação - 13
Dica de Programação - 13
Dica de Programação - 14
Dica de Programação - 14
Exercícios de Autoteste para a Seção 1.1 - 15
1.2 Análise de Tempo de Exceção - 17
O Problema da Contagem de Degraus de uma - 17
Notação O Maiúsculo - 22
Análise Temporal de Métodos de Java - 24
Análises de Pior Caso, Caso Médio e Melhor Caso - 25
Exercícios de Autoteste para a Seção 1.2 - 26
1.3 Teste de Depuração - 27
Como Escolher Dados de Teste - 27
Valores de Fronteira - 27
Código Completamente Explorado - 29
Armadilha - 29
Uso de um Depurador - 30
Instruções Assert - 30
Como Ativar e Desativar Instruções Assert - 31
Dica de Programação - 32
Armadilha - 35
Ferramentas de Verificação Estática - 35
Exercícios de Autoteste para a Seção 1.3 - 35
Resumo do Capítulo - 36
Solução dos Exercícios de Autoteste - 37
Capítulo 2: Classes Java e Ocultação de Informação - 39
2.1 Classes e Seus Membros - 41
Exemplo de Programação: Classe Throttle - 41
Como Definir uma Nova Classe - 42
Variáveis de Instância - 42
Construtores - 43
Construtores Sem Argumentos - 45
Métodos - 45
Métodos Acessadores - 45
Dica de Programação - 46
Armadilha - 46
Dica de Programação - 47
Métodos Modificadores - 47
Armadilha - 49
Definição Completa de Throttle.java - 50
Métodos Podem Ativar Outros Métodos - 52
Exercícios de Autoteste para a Seção 2.1 - 53
2.2 Como Usar Uma Classe - 53
Como Criar e Usar Objetos 54
Um Programa com Vários Objetos Throttle - 55
Referências Null - 56
Armadilha - 57
Instruções de Atribuição com Variáveis de Referência - 57
Clones - 60
Teste de Igualdade - 60
Controvérsia de Terminologia: “Throttle a que t Faz Referência” - 61
Exercícios de Autoteste para a Seção 2.2 - 61
2.3 Pacotes - 62
Como Declarar um Package - 63
Declaração de Importação Para Usar um Pacote - 65
Pacotes de JCL - 65
Mais Sobre Acessos Público, Privado e de Pacote - 66
Exercícios de Autoteste para a Seção 2.3 - 67
2.4 Parâmetros, Métodos Equals e Clones - 68
Classe Location - 68
Métodos Estáticos - 74
Parâmetros Que São Objetos - 75
Métodos Podem Acessar Variáveis de Instância Privadas de Objetos em Sua Própria Classe - 77
O Valor de Retorno de um Método Pode Ser Um Objeto - 77
Dica de Programação - 79
Tipo Object de Java - 79
Como usar e implementar um Método equals - 79
Armadilha - 82
Toda Classe tem um Método equals - 82
Como Usar e Implementar um Método Clone - 83
Armadilha - 84
Dica de Programação - 87
Dica de Programação - 87
Programa de Demonstração Para a Classe Location - 88
O Que Acontece Quando um Parâmetro é Alterado Dentro de um Método? - 88
Exercícios de Autoteste Para a Seção 2.4 - 92
2.5 Bibliotecas de Classes de Java - 93
Resumo do Capítulo - 96
Solução dos Exercícios de Autoteste - 97
Projetos de Programação - 99
Capítulo 3: Classes de Coleções - 109
3.1 Revisão de Arrays em Java - 110
Armadilha - 112
Comprimento de um Array - 112
Declarações de Atribuição com Arrays - 113
Clones de Arrays - 114
Classe Útil de Arrays - 115
Arrays como Parâmetros - 116
Dica de Programação - 117
Exercícios de para a Seção 3.1 - 118
3.2 ADT para Bag de Inteiros - 120
ADT Bag - Especificação - 120
OutOfMemoryError e Outras Limitações para Classes de Coleções - 124
Classe IntArrayBag - Especificação - 125
Classe IntArrayBag - Programa de Demonstração - 129
Classe IntArrayBag - Projeto - 132
O Invariante de um ADT - 133
ADT de IntArrayBag - Implementação - 134
Dica de Programação - 144
ADT de Bag - Juntando as Peças - 144
Dica de Programação - 149
ADT de Bag - Teste - 149
Armadilha - 150
ADT de Bag - Análise - 150
Exercícios de Autoteste para a Seção 3.2 - 152
3.3 Projeto de Programação: ADT de Sequence - 153
ADT de Sequence - Especificação - 153
ADT de Sequence - Documentação - 158
ADT de Sequence - Projeto - 158
ADT de Sequence - Pseudocódigo para a Implementação - 164
Exercícios de Autoteste para a Seção 3.3 - 167
3.4 Projeto de Programação: Polinômio - 168
Exercícios de Autoteste para a Seção 3.4 - 170
3.5 HashSet e Iteradores de Java - 170
Classe HashSet - 170
Alguns dos Membros de HashSet - 171
Iteradores - 171
Armadilha - 172
Iteradores Inválidos - 173
Armadilha - 173
Exercícios de Autoteste para a Seção 3.5 - 173
Resumo do Capítulo - 174
Solução dos Exercícios de Autoteste - 175
Projetos de Programação - 179
Capítulo 4: Listas Ligadas - 185
4.1 Fundamentos de Listas Ligadas - 186
Declarando uma Classe com Nós - 187
Nós Cabeça, Nós Cauda - 187
A Referência Nula - 188
Armadilha - 189
Exercícios de Auto-Teste para a Seção 4.1 - 189
4.2 Métodos para Manipulação de Nós - 190
Construtor para a Classe Node - 190
Obtendo e Definindo Data e Link de um Nó - 191
Instância de Variáveis Públicas Versus Privadas - 192
Adicionando um Novo Nó na Cabeça de uma Lista Ligada - 192
Removendo um Nó A Partir da Cabeça de uma Lista Ligada - 194
Adicionando um Novo Nó Que Não Está na Cabeça - 195
Removendo um Nó que Não Está na Cabeça - 198
Armadilha - 201
Exercícios de Auto-Teste para a Seção 4.2 - 201
4.3 Manipulando uma Lista Ligada Inteira - 202
Calculando o Comprimento de uma Lista Ligada - 203
Dica de Programação - 206
Armadilha - 207
Procurando por um Elemento em uma Lista Ligada - 207
Encontrando um Nó por sua Posição em uma Lista Encadeada - 208
Copiando uma Lista Ligada - 210
Um Segundo Método de Cópia, Retornando Referências de Cabeça e Cauda - 214
Dica de Programação - 215
Copiando Parte de uma Lista Ligada - 216
Usando Listas Ligadas - 217
Exercícios de Auto-Teste para a Seção 4.3 - 224
4.4 O Bag ADT Com Lista Ligada - 225
Nosso Segundo Bag — Especificação - 225
O Método grab - 228
Nosso Segundo Bag — Declaração da Classe - 228
O Segundo Bag — Implementação - 229
Dica de Programação - 232
Dica de Programação - 234
O Segundo Bag — Juntando as Peças - 238
Exercícios de Auto-Teste para a Seção 4.4 - 241
4.5 Projeto de Programação: A Sequência ADT com uma Lista Ligada - 242
A Sequência ADT Revisada — Sugestões de Projeto - 242
A Sequência ADT Revisada — Método Clone - 244
Exercícios de Auto-Teste para a Seção 4.5 - 248
4.6 Além de Simples Listas Ligadas - 248
Arrays Versus Listas Ligadas e Listas Duplamente Vinculadas - 248
Nós Falsos - 249
Classes de Lista Java - 250
ListIterators - 251
Tomando uma Decisão - 252
Exercícios de Auto-Teste para a Seção 4.6 - 253
Resumo do Capítulo - 254
Soluções para os Exercícios de Auto-Teste - 255
Projetos de Programação - 259
Capítulo 5: Programação Genérica - 263
5.1 Tipo Object do Java e Calsses Wapper - 264
Conversões Ampliadoras - 265
Conversões Redutoras - 265
Classes Wrapper - 268
Conversões Autoboxing e Auto-Unboxing - 268
Vantagens e Desvantagens de Objetos Wrapper - 269
Exercícios de Auto-Teste para a Seção 5.1 - 269
5.2 Método de Objetos e Método Genéricos - 270
Métodos de Objetos - 271
Métodos Genéricos - 271
Armadilha - 272
Exercícios de Auto-Teste para a Seção 5.2 - 273
5.3 Classes Genéricas - 274
Escrevendo uma Classe Genérica - 274
Usando uma Classe Genérica - 274
Armadilha - 275
Detalhes Sobre a Implementação de uma Classe Genérica - 275
Criando um Array para Armazenar Elementos de Tipo Desconhecido - 275
Recuperando Objetos E do Array - 276
Avisos em Código Genérico - 276
Dica de Programação - 277
Usando ArrayBag Como o Tipo de Parâmetro ou Valor de Retorno - 278
Contando as Ocorrências de um Objeto - 278
A Coleção é Realmente uma Coleção de Referências a Objetos - 279
Definindo Referências Não Utilizadas Como Nulas - 280
Passos Para Conversão de uma Classe de Coleção Para uma Classe Genérica - 281
Clones Profundos para Classes de Coleção - 283
Usando o Saco de Objetos - 291
Detalhes da História - Escrevendo o Programa - 294
Exercícios de Auto-Teste para a Seção 5.3 - 294
5.4 Nós Genéricos - 295
Nós que Contêm Dados de Objetos - 295
Armadilha - 295
Outras Coleções que Usam Listas Ligadas - 297
Exercícios de Auto-Teste para a Seção 5.4 - 297
5.5 Interfaces e Iterators - 298
Interfaces - 298
Como Escrever uma Classe que Implementa uma Interface - 299
Interfaces Genéricas e a Interface Iterable - 299
Como Escrever uma Classe Genérica que implementa uma Interface Genérica - 300
A Classe Lister - 303
Armadilha - 304
A Interface Genérica Comparable - 304
Parâmetros que Usam Interfaces - 305
Usando instanceof Para Testar Se Uma Classe Implementa uma Interface - 306
A Interface Cloneable - 307
Exercícios de Auto-Teste para a Seção 5.5 - 307
5.6 Uma Classe de Saco Genérica que Implementa a Interface Iterable (Seção Opcional) - 308
Dica de Programação - 309
Dica de Programação - 310
Implementação de um Saco de Objetos Usando uma Lista Encadeada e um Iterator - 310
Resumo das Quatro Implementações para Bag - 311
Exercícios de Auto-Teste para a Seção 5.6 - 311
5.7 A Interface Java Collection e Interface MAP (Seção Opcional) - 311
A Interface Collection - 312
A Interface Map e a Classe TreeMap - 312
A Classe TreeMap - 313
O Programa de Contagem de Palavras - 317
Resumo do Capítulo - 321
Soluções para os Exercícios de Auto-Teste - 322
Projetos de Programação - 325
Capítulo 6: Pilhas - 327
6.1 Introdução a Pilhas - 328
Classe Stack - Especificação - 329
Implementação de uma Pilha Genérica - 331
Programa de Exmeplo: Inversão de uma Palavra - 331
Exercícios de Autoteste para a Seção 6.1 - 332
6.2 Aplicações de Pilhas - 333
Programa de Exemplo: Parênteses Casados - 333
Dica de Programação - 336
Cálculo de Expressões Aritméticas - 337
Cálculo de Expressões Aritméticas - Especificação - 337
Cálculo de Expressões Aritméticas - Projeto - 337
Implementação do Método Evaluate - 341
Cálculo de Expressões Aritméticas - Testes e Análises - 345
Cálculo de Expressões Aritméticas - Melhorias - 346
Exercícios de Autoteste para a Seção 6.2 - 346
6.3 Implementação do ADT de Pilha - 346
Implementação de uma Pilha com Array - 347
Implementação de uma Pilha com Lista Ligada - 353
Discussão da Implementação de Pilha com Lista Ligada - 354
Exercícios de Autoteste para a Seção 6.3 - 357
6.4 Aplicações mais Complexas de Pilhas - 357
Avaliação de Expressões Pós-fixas - 357
Tradução de Notação Infixa em Pós-fixa - 361
Uso de Regras de Precedência na Expressão Infixa - 363
Correção da Conversão de Infixa em Pós-fixa - 366
Exercícios de Autoteste Para a Seção 6.4 - 367
Resumo do Capítulo - 368
Solução dos Exercícios de Autoteste - 369
Projetos de Programação - 371
Capítulo 7: Filas - 375
7.1 Introdução às Filas - 376
Classe Queue - 377
Usos de Filas - 379
Exercícios de Autoteste para a Seção 7.1 - 380
7.2 Aplicações de Filas - 381
Filas de Java - 381
Programa de Exemplo: Palíndromos - 381
Programa de Exemplo: Simulação da Lavagem de Carros - 384
Simulação da Lavagem de Carros - Especificação - 385
Simulação da Lavagem de Carros - Projeto - 385
Simulação da Lavagem de Carros - Implementação das Classes de Lavagem de Carros - 389
Simulação da Lavagem de Carros - Implementação do Método de Simulação - 390
Exercícios de Autoteste para a Seção 7.2 - 390
7.3 Implementações da Classe Fila - 399
Implementação de uma Fila com Array - 399
Dica de Programação - 402
Implementação de uma Fila com Lista Ligada - 409
Dica de Programação - 414
Exercícios de Autoteste para a Seção 7.3 - 415
7.4 Deques e Filas Prioritárias (Seção Opcional) - 415
Filas de Duas Pontas - 415
Filas de Prioridade - 416
ADT de Fila de Prioridades — Especificação - 417
Classe Fila de Prioridades — Uma Implementação que Usa uma Fila Ordinária - 418
ADT de Fila de Prioridades — Uma Implementação Direta - 420
Fila de Prioridade Java - 420
Exercícios de Autoteste para a Seção 7.4 - 420
Resumo do Capítulo - 421
Soluções para os Exercícios de Autoteste - 422
Projetos de Programação - 424
Capítulo 8: Pensamento Recursivo - 429
8.1 Métodos Recursivos - 430
Rastreamento de Chamadas Recursivas - 433
Programa de Exemplo: Extensão de writeVertical - 433
Exame Mais Atento da Recursão - 435
Forma Geral de um Método Recursivo Bem-Sucedido - 438
Exercícios de Autoteste para a Seção 8.1 - 439
8.2 Estudos de Recursão: Fractais e Labirintos - 440
Programa de Exemplo: Geração de Fractais Aleatórios - 440
Um Método Para Geração de Fractais Aleatórios - Especificação - 441
Caso de Parada para a Geração de um Fractal Aleatório - 445
Inclusão do Método para Geração de Fractal Aleatório em um Applet - 446
Programa de Exemplo: Travessia de um Labirinto - 449
Travessia de um Labirinto - Especificação - 449
Travessia de um Labirinto - Projeto - 452
Travessia de um Labirinto - Implementação - 453
O Padrão Recursivo de Busca Exaustiva com Retrocesso - 455
Programa de Exemplo: Jogo do Urso de Pelúcia - 457
Exercícios de Autoteste para a Seção 8.2 - 458
8.3 Análise da Recursão - 459
Como Garantir que, no Caso Geral, Não Há Recursão Infinita - 463
Sequência de Chamadas Recursivas - 464
Análise Indutiva da Correção de um Método Recursivo - 465
Exercícios de Autoteste para a Seção 8.3 - 467
Resumo do Capítulo - 467
Soluções para os Exercícios de Autoteste - 468
Projetos de Programação - 470
Capítulo 9: Árvores - 477
9.1 Introdução a Árvores - 478
Árvores Binárias - 478
Árvores Taxonômicas Binárias - 481
Mais de Dois Filhos - 482
Exercícios de Autoteste para a Seção 9.1 - 483
9.2 Representações de Árvores - 483
Representação de Árvores Binárias Completas como Arrays - 483
Representação de uma Árvore Binária com uma Classe Genérica para Nós - 485
Esta implementação tem dado char em cada nó - 486
Esta implementação tem dado de um parâmetro de tipo genérico - 486
Exercícios de Autoteste para a Seção 9.2 - 487
9.3 Uma Classe para Nós de Árvores Binária - 488
Programa de Exemplo: Adivinhação de Animais - 497
Programa de Adivinhação de Animais - Projeto e Implementação - 499
Programa de Adivinhação de Animais - Melhorias - 504
Exercícios de Autoteste para a Seção 9.3 - 504
9.4 Varreduras de Árvores - 507
Varreduras de Árvores Binárias - 507
Impressão de uma Árvore com Indentação para Mostrar Profundidade - 512
BTNode, IntBTNode e Outras Classes - 521
Exercícios de Autoteste para a Seção 9.4 - 521
9.5 Árvores de Buscas Binárias - 522
A Árvore de Busca Binária Armazena Regras - 522
Versão de Saco Com Árvore de Busca Binária - Implementação de Alguns Métodos Simples - 528
Contagem das Ocorrências de um Elemento em uma Árvore de Busca Binária - 529
Adição de um Novo Elemento a uma Árvore de Busca Binária - 530
Remoção de um Elemento de uma Árvore de Busca Binária - 531
Métodos addAll, addMany e union - 535
Armadilha - 536
Implementação de addAll - 537
Análise Temporal e um Iterador Interno - 538
Exercícios de Autoteste para a Seção 9.5 - 538
Resumo do Capítulo - 539
Solução dos Exercícios de Autoteste - 540
Projetos de Programação - 543
Capítulo 10: Projetos de Árvores - 547
10.1 Heaps - 548
Regras de Armazenamento em Heap - 548
Classe de Fila de Prioridades com Heaps - 550
Adição de um Elemento a um Heap - 550
Remoção de um Elemento de um Heap - 552
Exercícios de Autoteste para a Seção 10.1 - 554
10.2 Árvores B - 555
O Problema de Árvores Desequilibradas - 555
Regras para Árvore B - 556
Um Exemplo de Árvore B - 557
Classe Conjunto com Árvores B - 557
Busca de um Elemento em uma Árvore B - 563
Dica de Programação - 565
Adição de um Elemento a uma Árvore B - 565
Operação de Adição Relaxada para uma Árvore B - 565
Método Privado para Correção de Excesso em um Filho - 567
De Volta ao Método add - 569
Estratégia de Projeto Top-Down - 570
Remoção de um Elemento de uma Árvore B - 571
Remoção Relaxada de uma Árvore B - 572
Método Privado para Correção de Escassez em um Filho - 574
Remoção do Maior Elemento de uma Árvore B - 576
Dica de Programação - 577
Árvores B Externas - 577
Exercícios de Autoteste para a Seção 10.2 - 579
10.3 Suporte de Árvores em Java - 579
DefaultMutableTreeNode, de javax.swing.tree - 579
Uso da classe JTree para exibir uma árvore em um Applet - 579
Classe JApplet - 580
Dica de Programação - 580
O que Exibe o Applet TreeExample - 580
Exercícios de Autoteste para a Seção 10.3 - 581
10.4 Árvores, Logaritmos e Análise Temporal - 585
Análise temporal para árvores de buscas binárias - 586
Análise Temporal para Heaps - 587
Logaritmos - 589
Algoritmos Logarítmicos - 590
Exercícios de Autoteste para a Seção 10.4 - 590
Resumo do Capítulo - 591
Soluções para os Exercícios de Autoteste - 592
Projetos de Programação - 594
Capítulo 11: Busca - 595
11.1 Busca Serial E Busca Binária 5 - 96
Busca Serial - 596
Busca Serial – Análise - 596
Busca Binária - 599
Busca Binária – Projeto - 600
Armadilha - 602
Busca Binária — Análise - 603
Métodos de Busca Binária de Java - 607
Exercícios de Autoteste para a Seção 11.1 - 609
11.2 Espalhamento de Endereçamento Aberto - 609
Introdução a Espalhamento - 610
Chaves Não Inteiras e Método hashCode de Java - 612
Armadilha - 613
ADT de Table — Especificação - 613
ADT de Table — Projeto - 615
ADT de Table — Implementação - 617
Ilustração Prática de Espalhamento de Endereçamento Aberto - 623
Escolha de uma Função de Espalhamento para Reduzir Colisões - 624
Duplo Espalhamento para Reduzir Agrupamento - 625
Exercícios de Autoteste para a Seção 11.2 - 627
11.3 Uso da Classe Hashtable de Java - 627
11.4 Espalhamento Encadeado - 628
Exercícios de Autoteste para a Seção 11.4 - 630
11.5 Projeto de Programação: Uma Classe Table Implementada com Vector E LinkedList de Java - 631
Uma Nova Classe Table - 631
Estruturas de Dados para a Classe NewTable - 632
Implementação da Classe NewTable - 633
Exercícios de Autoteste para a Seção 11.5 - 634
11.6 Análise Temporal do Espalhamento - 634
Fator de Carga de uma Tabela de Espalhamento - 636
Exercícios de Autoteste para a Seção 11.6 - 639
Resumo do Capítulo - 639
Solução para os Exercícios de Autoteste - 640
Projetos de Programação - 643
Capítulo 12: Ordenação - 645
12.1 Algoritmos de Ordenação com Tempo Quatrático - 646
Selectionsort—Especificação - 646
Selectionsort—Projeto - 647
Selectionsort—Teste - 651
Selectionsort—Análise - 651
Dica de Programação - 653
Insertionsort - 653
Insertionsort—Análise - 657
Exercícios de Autoteste para a Seção 12.1 - 660
12.2 Algoritmos de Ordenação Recursiva - 660
Dividir para Conquistar Usando Recursão - 660
Mergesort - 661
Função merge - 662
Mergesort—Análise - 668
Mergesort para Arquivos - 670
Quicksort - 671
Método Partition - 673
Quicksort—Análise - 677
Quicksort—Escolha de um Bom Elemento Pivô - 678
Exercícios de Autoteste para a Seção 12.2 - 678
12.3 Um Algoritmo O(n log n) que usa Heap - 679
Heapsort - 679
Construção do Heap - 686
Recuperação Descendente de Heap - 688
Heapsort—Análise - 688
Exercício de Autoteste para a Seção 12.3 - 690
12.4 Métodos Sort de Java - 690
Exercícios de Autoteste para a Seção 12.4 - 690
12.5 Ordenações Recursivas Paralelas - 691
Mergesort com Limiar - 691
Armadilha - 692
Classe RecursiveAction de Java - 692
Construtor de Sorter - 693
Método compute de Sorter - 694
Dica de Programação - 695
Uso de ForkJoinPool para Iniciar Recursão Paralela - 695
Além da Simples Classe Sorter - 698
Exercícios de Autoteste para a Seção 12.5 - 698
Resumo do Capítulo - 699
Solução dos Exercícios de Autoteste - 700
Projetos de Programação 702
Capítulo 13: Reuso de Software Com Classes Estendidas - 707
13.1 Classes Estendidas - 708
Como Declarar uma Classe Estendida - 710
Construtores de uma Classe Estendida - 711
Como Usar uma Classe Estendida - 713
Descendentes e Ancestrais - 714
Como Sobrescrever Métodos Herdados - 715
Valores de Retorno Covariantes - 716
Conversões Ampliadoras para Classes Estendidas - 717
Conversões Redutoras para Classes Estendidas - 718
Exercícios de Autoteste para a Seção 13.1 - 719
13.2 Parâmetros de Tipo Genérico e Herança - 719
Exercício de Autoteste para a Seção 13.2 - 721
13.3 Simulação de um Ecossistema - 721
Dica de Programação - 722
Implementação de Parte da Hierarquia de Objetos para Organismos - 722
Classe Organism - 722
Amostra de Diálogo - 725
Classe Animal: Uma Classe Estendida com Novas Variáveis de Instância Privadas - 726
Como Prover um Novo Construtor para uma Classe Estendida - 727
Outros Métodos de Animal - 728
Exercícios de Autoteste para o Meio da Seção 13.3 - 729
Classe Herbivore - 733
Programa de Simulação da Vida no Lago - 736
Vida no Lago—Detalhes da Implementação - 741
Uso do Modelo do Lago - 741
Exercícios de Autoteste para a Seção 13.3 - 742
13.4 Classes Abstratas e uma Classe Game - 743
Introdução à Classe AbstractGame - 743
Métodos Protegidos - 749
Métodos Finais - 749
Métodos Abstratos - 749
Classe Estendida para Jogar Conecte Quatro - 750
Variáveis-Membro Privadas da Classe Connect Four - 751
Três Métodos de Connect Four que Lidam com o Estado do Jogo - 753
Três Métodos de Connect Four que Lidam com Movimentos - 754
Método clone - 755
Como Escrever Suas Próprias Classes de Jogos Derivadas da Classe AbstractGame - 756
Exercícios de Autoteste para a Seção 13.4 - 757
Resumo do Capítulo - 757
Leitura Adicional - 757
Solução dos Exercícios de Autoteste - 758
Projetos de Programação - 760
Capítulo 14: Grafos - 761
14.1 Definições de Grafos - 762
Grafos Não Direcionados - 762
Exemplo de Programação: Grafos de Estados Não Direcionados - 763
Grafos Direcionados - 766
Terminologia Adicional de Grafos - 767
Exemplo de Rotas Aéreas - 768
Exercícios de Autoteste para a Seção 14.1 769
14.2 Implementações de Grafos - 769
Como Representar Grafos por uma Matriz de Adjacência - 769
Como Usar um Array Bidimensional para Armazenar Uma Matriz de Adjacência - 770
Como Representar Grafos por Listas de Ramos - 771
Como Representar Grafos por Conjuntos de Ramos - 772
Qual é a Melhor Representação? - 772
Exmpelo de Programação: ADT para Grafo Rotulado - 773
Construtor para Graph e Método size - 774
Métodos para Manipulação de Ramos - 775
Métodos para Manipulação de Rótulos de Vértices - 776
ADT para Grafo Rotulado— Implementação - 776
Exercícios de Autoteste para a Seção 14.2 - 781
14.3 Varredura de Grafos - 782
Busca em Profundidade - 783
Busca em Largura - 786
Busca em Profundidade—Implementação - 788
Busca em Largura—Implementação - 790
Exercícios de Autoteste para a Seção 14.3 - 791
14.4 Algoritmos de Rota - 792
Como Determinar se Uma Rota Existe - 792
Grafos com Ramos Ponderados - 792
Algoritmo da Menor Distância - 793
Algoritmo da Rota Mais Curta - 802
Exercícios de Autoteste para a Seção 14.4 - 803
Resumo do Capítulo - 804
Solução dos Exercícios de Autoteste - 805
Projetos de Programação - 807
Apêndices
Apêndice A Tipos Primitivos de Java e Overflow Aritmético - 809
Apêndice B Entrada e Saída em Java - 813
Apêndice C Lançamento e Captura de Exceções de Java - 819
Apêndice D Classes ArrayList, Vector, Hashtable e HashMap - 825
Apêndice E Uma Classe para Nós em uma Lista Ligada - 829
Apêndice F Uma Classe para uma Coleção de Objetos - 839
Apêndice G Mais Sobre a Notação O Maiúsculo - 847
Apêndice H Javadoc - 849
Apêndice I Applets para Testagem Interativa - 857
Índice Remissivo - 859Informações Técnicas
Nº de páginas: 904 Origem: Importado Editora: Editora Ciência Moderna Idioma: Português Edição: 4ª Edição Ano: 2015 ISBN: 9788539906857 Encadernação: Digital Autor: Michael Main - Informações