Mestre em Ciência da Computação, Universidade Federal de Minas Gerais, 2004. Atualmente é aluno de doutorado do Departamento de Ciência da Computação da Universidade Federal de Minas Gerais, onde trabalha com funções hash perfeitas mínimas para representar eficientemente um dicionário. Desenvolvedor e mantenedor de uma biblioteca de software livre intitulada CMPH, que contém todos os algoritmos desenvolvidos durante o seu doutorado. Especialista em desenvolvimento de software orientado a objetos nas linguagens Java e C++.
com implementações em Java e C++ Algoritmos e estruturas de dados formam o núcleo da ciência da computação, sendo os componentes básicos de qualquer software. Aprender como programar computadores está intimamente ligado a algoritmos, já que programas são formulações concretas de algoritmos. Aprendê-los é crucial para qualquer pessoa que deseja desenvolver softwares de qualidade.
Projeto de Algoritmos com implementações em Java e C++
Esta obra apresenta os principais algoritmos e estruturas de dados conhecidos. As técnicas de projeto de algoritmos são ensinadas de forma simples, seguindo o paradigma de orientação a objetos, por meio de refinamentos sucessivos até o nível de uma implementação na linguagem Java, e todo programa Java tem um programa C++ correspondente nos apêndices. Destaques: § O livro cobre estruturas de dados básicas, contendo listas lineares, pilhas e filas; algoritmos de ordenação e de pesquisa em memórias primária e secundária; algoritmos em grafos e processamento de cadeias de caracteres; técnicas de análise de algoritmos; paradigmas de projeto de algoritmos; e estudo da complexidade computacional de algoritmos. § Ênfase em tipos abstratos de dados, programação modular, programação orientada a objetos, encapsulamento e independência de implementação de tipos abstratos de dados com reaproveitamento de código. § Informação sobre o comportamento teórico e prático dos algoritmos, fornecendo uma base de comparação entre os algoritmos. § Mais de 156 exercícios propostos dos quais 58 com soluções; 195 programas em Java e 195 programas em C++; 164 figuras ilustrativas. § Material de apoio para professores na forma de transparências e os códigos em Java e C++ podem ser obtidos no site www.dcc.ufmg.br/algoritmos-java.
Aplicações Livro-texto para cursos de Ciência da Computação, Matemática Computacional, Sistemas de Informação, Engenharias de Computação, de Controle e Automação, Elétrica, Eletrônica e Mecânica, entre outros. Pelo fato de apresentar muitas implementações de algoritmos práticos, o texto é igualmente útil para profissionais engajados no desenvolvimento de software nas linguagens Java e C++.
Algoritmos e Lógica de Programação Marco Antonio Furlan de Souza, Marcelo Marques Gomes, Marcio Vieira Soares e Ricardo Concilio Compiladores: Princípios e Práticas Kenneth C. Louden Estrutura de Dados e Algoritmos em C++ Adam Drozdek
Introdução aos Fundamentos da Computação Newton José Vieira Modelos Clássicos de Computação Flávio Soares Corrêa da Silva e Ana Cristina Vieira de Melo Projeto de Algoritmos: Com Implementações em Pascal e C – a 2 Edição Revista e Ampliada Nivio Ziviani
Nivio Ziviani Para suas soluções de curso e aprendizado, visite www.cengage.com.br
Outras Obras
Introdução à Ciência da Computação Ricardo Daniel Fedeli, Enrico Giulio Franco Polloni e Fernando Eduardo Peres
Projeto de Algoritmos
Fabiano Cupertino Botelho
Projeto de Algoritmos
com implementações em Java e C++
Ph.D. em Ciência da Computação, University of Waterloo, 1982. Professor Emérito da UFMG, Professor Titular do Departamento de Ciência da Computação da UFMG, onde coordena o Laboratório para Tratamento da Informação (LATIN). Cofundador de duas empresas especializadas em tecnologia de busca na Web, a Miner Technology Group, vendida para o UOL / Grupo Folha de São Paulo em 1999, e a Akwan Information Technologies, vendida para a Google Inc. em 2005. Autor de três livros na área de algoritmos e coautor de mais de cem artigos técnicos nas áreas de algoritmos, recuperação de informação, compressão de textos e áreas correlatas. Co-criador da conferência SPIRE (String Processing and Information Retrieval) e Coordenador Geral da conferência ACM SIGIR 2005, a mais importante do mundo na área de recuperação de informação. Membro da ACM (Association for Computing Machinery), EATCS (European Association for Theoretical Computer Science), IEEE Computer Society e SBC (Sociedade Brasileira de Computação).
Nivio Ziviani
Nivio Ziviani
Consultoria em Java e C++ de
Fabiano Cupertino Botelho