Estruturas de Dados Domine as práticas essenciais em C, Java, C#, Python e JavaScript

Thiago Leite e Carvalho

*Você terá acesso às futuras atualizações do livro.

Conteúdo

Edição atualizada em 02/2024.

As estruturas de dados são a base para a construção de algoritmos eficientes que possibilitam a construção sistemas computacionais de alta performance. Elas permitem o armazenamento e manipulação de dados e são essenciais para a solução de problemas complexos em diversas áreas em evidência: inteligência artificial, processamento de imagens, ciência de dados, Machine Learning e Engenharia de Software.

Neste livro, Thiago Leite desmistifica as estruturas de dados clássicas, que são apresentadas nas principais linguagens do mercado: C, Java, C#, Python e JavaScript. Do básico ao avançado, você conhecerá conceitos e práticas de cada ED de forma objetiva, com exercícios e resoluções para complementar seu aprendizado. Com esse conhecimento, você saberá escolher quais as estruturas de dados mais adequadas e eficientes para cada contexto específico no seu dia a dia em desenvolvimento de software e assim conseguirá criar a melhor solução para seus problemas.

Saiba o que você vai aprender

 

Sumário

Parte 1: Dentro da Matrix

  • 1 Introdução
  • 2 Conceitos básicos
  • 2.1 O que é dado?
  • 2.2 O que é estrutura?
  • 2.3 O que são estruturas de dados?
  • 2.4 O que é informação?
  • 2.5 O que é TD e TAD?
  • 2.6 O que é um ponteiro?
  • 2.7 Memória
  • 2.8 Resumo
  • 3 Vetor e Matriz
  • 3.1 Fundamentos
  • 3.2 Vetores
  • 3.3 Matrizes
  • 3.4 Exercícios
  • 4 Pilha
  • 4.1 Fundamentos
  • 4.2 Operações
  • 4.3 Implementação
  • 4.4 Exemplos de uso
  • 4.5 Exercícios
  • 5 Fila
  • 5.1 Fundamentos
  • 5.2 Operações
  • 5.3 Tipos de fila
  • 5.4 Implementação
  • 5.5 Exemplos de uso
  • 5.6 Exercícios
  • 6 Lista
  • 6.1 Fundamentos
  • 6.2 Operações
  • 6.3 Tipos de listas
  • 6.4 Implementação
  • 6.5 Exemplos de uso
  • 6.6 Exercícios
  • 7 Vetor/Matriz vs. Pilha vs. Fila vs. Lista
  • 8 Árvore
  • 8.1 Fundamentos
  • 8.2 Operações
  • 8.3 Tipos de árvores
  • 8.4 Ordenação
  • 8.5 Implementação
  • 8.6 Exemplos de uso
  • 8.7 Exercícios
  • 9 Grafo
  • 9.1 Fundamentos
  • 9.2 Operações
  • 9.3 Tipos de grafos
  • 9.4 Representações
  • 9.5 Problemas clássicos
  • 9.6 Algoritmos importantes
  • 9.7 Exemplos de uso
  • 9.8 Só isso sobre grafos?
  • 10 Outras estruturas de grande relevância
  • 10.1 Set (conjunto)
  • 10.2 Tabela de dispersão (Hashtable)
  • 10.3 Heap

Parte 2: O mundo real

  • 11 Estruturas de Dados em Java
  • 11.1 Vetor e Matriz
  • 11.2 Pilha
  • 11.3 Fila
  • 11.4 Lista
  • 11.5 Árvore
  • 11.6 Set
  • 11.7 Tabela de dispersão (Hashtable)
  • 12 Estruturas de Dados em C#
  • 12.1 Vetor e Matriz
  • 12.2 Pilha
  • 12.3 Fila
  • 12.4 Lista
  • 12.5 Árvore
  • 12.6 Set
  • 12.7 Tabela de dispersão (Hashtable)
  • 13 Estruturas de Dados em Python
  • 13.1 Vetor e Matriz
  • 13.2 Pilha
  • 13.3 Fila
  • 13.4 Lista
  • 13.5 Árvore
  • 13.6 Set
  • 13.7 Tabela de dispersão (Hashtable)
  • 13.8 Tuple
  • 14 Estruturas de Dados em JavaScript
  • 14.1 Vetor e Matriz
  • 14.2 Pilha
  • 14.3 Fila
  • 14.4 Lista
  • 14.5 Árvore
  • 14.6 Set
  • 14.7 Tabela de dispersão (Hashtable)

Parte 3: Conclusão e apêndices

  • 15 Chegamos ao fim
  • 16 Referências bibliográficas
  • 16.1 Livros
  • 16.2 Links
  • 17 Apêndice I: Ponteiro em C
  • 18 Apêndice II: Struct em C
  • 19 Apêndice III: Funções nativas
  • 20 Apêndice IV: Recursividade

Autor

Thiago Leite e Carvalho

Thiago Leite e Carvalho é Mestre em Computação, analista de sistemas sênior da empresa de tecnologia do governo federal, onde também atua como instrutor. Atuou como professor universitário durante 8 anos, ministrando cadeiras de programação (front-end e back-end), engenharia de software, estrutura de dados, teoria da computação e compiladores. Entusiasta da plataforma Java, atua na área com esta linguagem desde 2003, possuindo 3 certificações. Também já trabalhou com a plataforma .Net por 4 anos. Gosta de estudar continuamente, principalmente sobre teorias e melhores práticas da Orientação a Objetos, Qualidade de Código e Arquitetura de Software. Além disto, contribui e possui projetos open source e cursos no Udemy.

Dados do produto

Número de páginas:
320
ISBN:
978-85-5519-338-5
Data publicação:
06/2023. Atualizado em 02/2024.

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter