Teoria dos Grafos Uma abordagem prática em Java
João Paulo MaidaSobre o livro
Esta obra consiste na reunião de todos os fundamentos que julguei interessantes na área da Teoria dos Grafos, voltada para um público ligado à área de desenvolvimento de software, sejam estudantes, profissionais ou curiosos. Entretanto, para que sua experiência seja a melhor de todas, uma boa noção de Lógica de Programação, Programação Orientada a Objetos e um pouco de vivência com a linguagem Java são necessárias, porque o livro desenvolve junto com o leitor ou a leitora uma aplicação Java no qual emprega toda a teoria vista.
Caso você não possua habilidades com programação, ou possua mas com uma linguagem diferente de Java, não se preocupe. É possível aproveitar toda a parte teórica desenvolvida no livro no primeiro caso e, para o segundo, é sempre bom frisar que nada impede de transpor o conhecimento obtido aqui para uma outra linguagem de programação.
Uma vez que dê início à sua leitura, seu primeiro encontro será com toda a base histórica e teórica que acompanhará você pelo livro, formada pela criação da Teoria dos Grafos e suas diversas aplicações ao longo da história, definições de grafo, vértice, aresta, suas funções e características. Tudo isto é englobado nos capítulos 1 e 2.
No capítulo 3, são vistas as diferentes formas de representação de conexões entre vértices e arestas e suas respectivas características. Esse capítulo serve de suporte para os métodos de buscas abordados no capítulo 4.
No capítulo 5, você se encontra com novas representações para grafos, as árvores, junto com suas características, funções, curiosidades e procedimentos.
O capítulo 6 adiciona novas características aos grafos já conhecidos e mostra quais pontos no projeto desenvolvido no livro precisam ser modificados para suportar essa inclusão. O capítulo 7 utiliza de toda a teoria vista nos capítulos anteriores e apresenta algoritmos utilitários que respondem a questões do cotidiano.
O capítulo 8 possui uma abordagem que eu chamo de _ping-pong_. Foi todo estruturado para mostrar pedaços de código e esperar que você os implemente para assim avançar na construção que finaliza a aplicação.
O capítulo 9 conclui a obra com reflexões e deixa uma mensagem para você, como uma forma de expressar meu carinho por ter adquirido meu livro.
O intervalo entre os capítulos 2 até o 8 compreende toda a parte técnica referente a Teoria dos Grafos e à aplicação desenvolvida. Aproveite com sabedoria.
A aplicação completa, assim como dividida por capítulos, pode ser encontrada no repositório GitHub através do link https://github.com/jpmaida/livro-algoritmos-grafos-java. Utilize-o como o seu guia em casos de dúvidas.
Sobre o autor
Olá! Maidão, Maidinha, Zé, Peixe, Peixão etc. Esses são meus apelidos, mas meu nome verdadeiro é João Paulo (não sei por que meu pai me chama de Zé). Geralmente me apresento como Maida, meu sobrenome, porque sempre existe um outro João por aí, Maida é mais difícil de encontrar.
Comecei em TI com quinze anos, no curso técnico. Sempre gostei de tecnologia, ciências no geral e do espaço. Um bom nerd de carteirinha. Terminei minha graduação em Ciência da Computação em 2012 na finada UniverCidade - Universidade da Cidade, com diploma expedido pela Universidade Veiga de Almeida - RJ. Em 2014, comecei meu MBA em Engenharia de Software pela Universidade Federal do Rio de Janeiro - UFRJ, terminando em 2016.
Quando o assunto é trabalho, comecei cedo. Em 2008, já trabalhava com TI, dava aulas de informática básica em um laboratório comunitário. Depois fui para área de infraestrutura onde fiquei até 2010. A partir desse ano até 2014 trabalhei com desenvolvimento de software, foram anos de trabalho árduo.
De 2014 até 2018, eu continuei trabalhando com desenvolvimento, mas não da perspectiva de um desenvolvedor, mas sim de um analista de qualidade/arquiteto. Foi uma experiência interessante e que me abriu outras portas. Em 2018, voltei para área de desenvolvimento para sair novamente em 2019 para a tão sonhada área de arquitetura e é onde estou atualmente, e feliz.
Sou muito apaixonado pelo que faço e gosto muito de estudar. Na verdade, eu curto aprender qualquer assunto. Como parte dessa fome insaciável por conhecimento, criei um blog no qual escrevo sobre os mais diversos assuntos relacionados à tecnologia (https://precisoestudarsempre.blogspot.com/).
Estou no Twitter (@jpmaida) e no LinkedIn (João Paulo Maida). Meu e-mail é jpmaida(at)gmail.com. É um prazer lhe conhecer.
Sumário
- 1 O início de tudo
- 1.1 Antes de tudo, um pouco de história
- 1.2 Na máquina do tempo, voltando para o presente
- 1.3 Conclusão
- 2 Grafos
- 2.1 O que de fato é um grafo?
- 2.2 Saindo da teoria, entrando na prática
- 2.3 Conclusão
- 3 Para onde foram as arestas?
- 3.1 Matriz de adjacência e matriz de incidência
- 3.2 E as arestas chegam ao projeto
- 3.3 Conclusão
- 4 Procurando uma agulha no palheiro
- 4.1 Buscas em profundidade
- 4.2 Buscas em largura
- 4.3 Dando vida às buscas
- 4.4 Conclusão
- 5 Uma floresta à frente
- 5.1 Árvores
- 5.2 Árvores geradoras
- 5.3 Incorporando árvores geradoras à aplicação
- 5.4 Decisões à frente
- 5.5 Conclusão
- 6 Direções e valores
- 6.1 Direções
- 6.2 Valores
- 6.3 Projetando novos grafos
- 6.4 Como usar?
- 6.5 Conclusão
- 7 O canivete suíço
- 7.1 O algoritmo de Dijkstra
- 7.2 O algoritmo de Floyd-Warshall
- 7.3 O algoritmo de Prim
- 7.4 Conclusão
- 8 Um toque final
- 8.1 Apertando os parafusos
- 8.2 Conclusão
- 9 O epílogo de uma aventura
- 10 Referência bibliográfica
Dados do produto
- Número de páginas:
- 203
- ISBN:
- 978-65-86110-51-7
- Data publicação:
- 11/2020