Estruturas de Dados com Java
- Descrição
- Currículo
- FAQ
- Revisões
Neste curso de Estruturas de Dados veremos com teoria, análise do código e da execução, exercícios e também discussões de casos e situações diversas as principais estruturas utilizadas em sistemas comerciais, algoritmos de operação em background, algoritmos científicos e outros. As aulas são bastante aprofundadas, não ficando apenas em meras apresentações e exemplos simplórios.
Veremos desde o conceito básico da Estrutura de Dados, a sua importância na execução dos algoritmos, um modelo elementar de estrutura.
Veremos as estruturas lineares, onde começaremos com os vetores, as pilhas, as filas e os deques. Passaremos às listas simplesmente e as duplamente ligadas e as pilhas e filas implementadas com as listas ligadas, a lista ligada circular e a tabela de hash.
Depois passaremos às árvores, com as árvores binárias, as binárias AVL, a árvore B, a árvore B+ e a N-ária (de estrutura genérica). A seguir os grafos, os métodos de ordenação, com o Buble Sort, Insertion Sort, Selection Sort, Merge Sort e Quick Sort.
Finalmente veremos s busca binária e algumas outras estruturas já disponíveis na biblioteca Java como os conjuntos (sets) e os mapas (dicionários).
Eu, como desenvolvedor de softwares e professor do ensino superior, com doutorado em inteligência computacional, vou conduzir todo este conteúdo de forma que você tenha o melhor aproveitamento possível e aumente consideravelmente seu background de conhecimento profissional.
-
1IntroduçãoVídeo Aula
Nesta aula vamos ver os conceitos fundamentais que iremos trabalhar durante o curso.
O que significa e representa uma Estrutura de Dados.
O TAD - Tipo Abstrato de Dado.
-
2Como avaliar o cursoVídeo Aula
Uma solicitação do seu instrutor
-
3O TAD - primeiro exemploVídeo Aula
Nesta aula veremos um exemplo elementar de TAD com objetivo de reforçar o conceito.
-
4O TAD - segundo exemplo (parte teórica)Vídeo Aula
Nesta aula vamos ver, em teoria, um segundo exemplo de TAD um pouco mais complexo.
-
5O TAD - segundo exemplo (parte prática)Vídeo Aula
Nesta aula vamos ver uma implementação prática do TAD apresentado na aula teórica.
-
6O TAD Pilha (parte teórica)Vídeo Aula
Nesta aula começamos com as estruturas lineares:
Introdução
O TAD Pilha
-
7O TAD Pilha (parte prática)Vídeo Aula
Nesta aula veremos a implementação básica do TAD Pilha.
-
8O TAD Pilha (solução do exercício da aula anterior)Vídeo Aula
Nesta aula veremos uma possível solução para o exercício proposto na aula passada.
-
9O TAD Pilha implementado nas classes já existentes nas bibliotecas JavaVídeo Aula
Nesta aula implementaremos um TAD Pilha com a classe java.util.Stack utilizando os métodos nativos da mesma: push, pop, empty, search, size, get, etc.
-
10A classe Vector e a classe ArrayListVídeo Aula
Nesta aula veremos:
a classe Vector, superclasse da Stack
a classe ArrayList, alternativa para a Vector
-
11O TAD Fila (parte teórica)Vídeo Aula
Nesta aula veremos a segunda estrutura linear: o TAD Fila.
Implementação no conceito de vetor circular.
-
12O TAD Fila (parte prática)Vídeo Aula
Nesta aula veremos a implementação básica do TAD Fila.
-
13O TAD Fila (solução do exercício da aula anterior)Vídeo Aula
Nesta aula veremos possíveis soluções para os exercícios propostos na aula passada.
-
14O TAD Deque (teoria e prática)Vídeo Aula
Nesta aula iremos ver o TAD Deque já disponível na biblioteca da linguagem Java.
-
15TAD Lista Ligada (teoria e prática) - parte IVídeo Aula
Nesta aula veremos o TAD Lista Ligada e uma implementação básica operando no modo TAD Pilha.
-
16TAD Lista Ligada (teoria e prática) - parte IIVídeo Aula
Nesta aula veremos o TAD Lista Ligada e uma implementação um pouco mais elaborada que a anterior operando no modo TAD Fila.
-
17TAD Lista Ligada (exercício)Vídeo Aula
Nesta aula analisaremos o código resolvido do exercício proposto na aula anterior.
-
18TAD Lista Duplamente Ligada (teoria e prática)Vídeo Aula
Nesta aula veremos o TAD Lista Duplamente Ligada e suas diversas possíveis operações.
-
19TAD Lista Duplamente Ligada Circular (teoria)Vídeo Aula
Nesta aula veremos a Lista Duplamente Ligada Circular.
Uma variação do TAD Lista Duplamente Ligada, onde o último elemento está conectado ao elemento inicial.
-
20TAD Lista Duplamente Ligada Circular (análise da execução do código)Vídeo Aula
Nesta aula veremos e discutiremos a operação do código visto na aula anterior.
-
21Código proposto para o exercício da aula anterior (análise e execução)Vídeo Aula
Nesta aula veremos uma proposta de implementação para o exercício proposto.
Analisaremos o código e a execução.
-
22O TAD Lista Ligada implementada nas classes já existentes nas bibliotecas JavaVídeo Aula
Nesta aula veremos um aplicativo de aprendizado para estudo da java.util.LinkedList.
-
23TAD Tabela Hash (ou Tabela de Dispersão) - parte IVídeo Aula
Nesta aula veremos a fundamentação teórica do TAD Tabela Hash.
-
24TAD Tabela Hash (ou Tabela de Dispersão) - parte IIVídeo Aula
Nesta aula veremos a codificação e a execução do TAD Tabela Hash.
-
25TAD Tabela Hash (ou Tabela de Dispersão) - parte IIIVídeo Aula
Nesta aula veremos a implementação e execução do código do TAD Tabela Hash combinada com o TAD Lista Ligada.
-
26TAD Árvore Binária - TeoriaVídeo Aula
Nesta aula veremos a teoria do TAD Árvore Binária e mais especificamente o TAD Árvore Binária de Busca.
-
27TAD Árvore Binária - CodificaçãoVídeo Aula
Nesta aula veremos a codificação do TAD Árvore Binária de Busca com a opção de métodos iterativos e de métodos recursivos.
-
28TAD Árvore Binária - Execução do CódigoVídeo Aula
Nesta aula vamos executar o código completo e aproveitar para recordar a teoria.
-
29TAD Árvore Binária AVL - TeoriaVídeo Aula
Nesta aula veremos a teoria do TAD Árvore Binária AVL.
Fator de Balanço
Rotação Simples
Rotação Dupla
-
30TAD Árvore Binária AVL - CodificaçãoVídeo Aula
Nesta aula veremos uma proposta de codificação da Árvore AVL. O código (iterativo) contempla todas as funcionalidades.
-
31TAD Árvore Binária AVL - Execução do CódigoVídeo Aula
Nesta aula vamos executar o código completo e aproveitar para recordar a teoria.
-
32TAD Árvore B - TeoriaVídeo Aula
-
33TAD Árvore B+ - TeoriaVídeo Aula
Nesta aula veremos a teoria da Árvore B+ e alguns outros tipos de árvore como a Rubro-Negra, a 2-3, a 2-3-4 e a Hiperbólica.
-
34TAD Árvore N-ária (de estrutura genérica) - Teoria, Codificação e ExecuçãoVídeo Aula
Nesta aula veremos a Árvore N-ária, também conhecida por Árvore de Estrutura Genérica e também por Árvore Hiperbólica.
Veremos a teoria, analisaremos e discutiremos o código e a sua execução.
-
35Grafos (teoria)Vídeo Aula
Nesta aula veremos a teoria introdutória dos grafos.
-
36Métodos de Ordenação - parte 1 - TeoriaVídeo Aula
Nesta aula vamos ver a teoria dos seguintes métodos de ordenação:
Bubble Sort
Insertion Sort
Selection Sort
-
37Métodos de Ordenação - parte 1 - Codificação e ExecuçãoVídeo Aula
Nesta aula vamos ver o código e observar a execução dos seguintes métodos de ordenação:
Bubble Sort
Insertion Sort
Selection Sort
-
38Métodos de Ordenação - parte 2 - Teoria, Codificação e ExecuçãoVídeo Aula
-
39Métodos de Ordenação - parte 3 - Teoria, Codificação e ExecuçãoVídeo Aula
Nesta aula vamos ver o algoritmo de ordenação Quick Sort.
Teoria
Codificação
Execução
-
40Busca Binária - Teoria, Codificação e ExecuçãoVídeo Aula
Nesta aula veremos a técnica da Busca Binária em vetores ordenados.
-
41Outras EstruturasVídeo Aula
Nesta aula veremos a classificação básica das estruturas vistas até o momento - listas, conjuntos e mapas.
Na prática veremos uma aplicação com os conjuntos e os mapas com classes existentes na biblioteca Java.
