
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.
Uma solicitação do seu instrutor
Nesta aula veremos um exemplo elementar de TAD com objetivo de reforçar o conceito.
Nesta aula vamos ver, em teoria, um segundo exemplo de TAD um pouco mais complexo.
Nesta aula vamos ver uma implementação prática do TAD apresentado na aula teórica.
Nesta aula começamos com as estruturas lineares:
Introdução
O TAD Pilha
Nesta aula veremos a implementação básica do TAD Pilha.
Nesta aula veremos uma possível solução para o exercício proposto na aula passada.
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.
Nesta aula veremos:
a classe Vector, superclasse da Stack
a classe ArrayList, alternativa para a Vector
Nesta aula veremos a segunda estrutura linear: o TAD Fila.
Implementação no conceito de vetor circular.
Nesta aula veremos a implementação básica do TAD Fila.
Nesta aula veremos possíveis soluções para os exercícios propostos na aula passada.
Nesta aula iremos ver o TAD Deque já disponível na biblioteca da linguagem Java.
Nesta aula veremos o TAD Lista Ligada e uma implementação básica operando no modo TAD Pilha.
Nesta aula veremos o TAD Lista Ligada e uma implementação um pouco mais elaborada que a anterior operando no modo TAD Fila.
Nesta aula analisaremos o código resolvido do exercício proposto na aula anterior.
Nesta aula veremos o TAD Lista Duplamente Ligada e suas diversas possíveis operações.
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.
Nesta aula veremos e discutiremos a operação do código visto na aula anterior.
Nesta aula veremos uma proposta de implementação para o exercício proposto.
Analisaremos o código e a execução.
Nesta aula veremos um aplicativo de aprendizado para estudo da java.util.LinkedList.
Nesta aula veremos a fundamentação teórica do TAD Tabela Hash.
Nesta aula veremos a codificação e a execução do TAD Tabela Hash.
Nesta aula veremos a implementação e execução do código do TAD Tabela Hash combinada com o TAD Lista Ligada.
Nesta aula veremos a teoria do TAD Árvore Binária e mais especificamente o TAD Árvore Binária de Busca.
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.
Nesta aula vamos executar o código completo e aproveitar para recordar a teoria.
Nesta aula veremos a teoria do TAD Árvore Binária AVL.
Fator de Balanço
Rotação Simples
Rotação Dupla
Nesta aula veremos uma proposta de codificação da Árvore AVL. O código (iterativo) contempla todas as funcionalidades.
Nesta aula vamos executar o código completo e aproveitar para recordar a teoria.
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.
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.
Nesta aula veremos a teoria introdutória dos grafos.
Nesta aula vamos ver a teoria dos seguintes métodos de ordenação:
Bubble Sort
Insertion Sort
Selection Sort
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
Nesta aula vamos ver o algoritmo de ordenação Quick Sort.
Teoria
Codificação
Execução
Nesta aula veremos a técnica da Busca Binária em vetores ordenados.
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.
Mensagem de encerramento.
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.