Lista de Código de Exemplo
1 - Introdução ao Java
- Tipos e Variaveis - Tipos básicos, conversões e casting, limites
- Instruções Condicionais - if else, switch
- Instruções de Ciclo - for, while, do while, break, continue
- Uma primeira classe - classe Point para pontos a 2 dimensões (num plano), métodos, comparações entre objectos e variáveis estáticas
- Strings - Criação, caractéres, tamanho, comparação, substrings, conversão para array
- Arrays - criação, OutOfBounds, inicialização, impressão, soma, multiplicação de matriz por array
- Input/Output - uso de Scanner a partir de string, teclado ou ficheiro, escrita formatada
2 - Sobre Programação Estruturada
- [ED004] Jogo do Galo - um exemplo de resolução estruturada e com generalizacao da verificacao de uma linha
3 - Tipos Abstractos de Dados (TADs)
- TAD Vector - Um vector em R2 (ex: operações: somar, subtrair, multiplicar, magnitude)
- TAD IntSet - Um conjunto de números inteiros (ex. operações: adicionar, remover, verificar inclusão)
- Progressões - Um exemplo de herança em Java com uma classe representando uma programação e diversas subclasses (progressões aritméticas, geométricas e de Fibonacci)
4 - Listas Ligadas, Pilhas e Filas
- SinglyLinkedList - lista ligada simples (ex operações: tamanho, adicionar no início e no fim, retirar no início e no fim)
- CircularLinkedList - lista ligada circular (ex operações: tamanho, adicionar no início e no fim, retirar no início e no fim, rodar elementos)
- DoublyLinkedList - lista duplamente ligada (ex operações: tamanho, adicionar no início e no fim, retirar no início e no fim)
- TAD MyStack - Uma pilha (coleção LIFO: último a entrar e o primeiro a sair)
- TAD MyQueue - Uma fila (coleção FIFO: primeiro a entrar e o primeiro a sair)
- TAD MyDeque - Generalização de fila (possível inserir e remover no início e no final da fila)
6 - Recursividade
- TestMax - 3 versoes para descobrir o maximo de um intervalo de um array (uma iterativa e duas recursivas)
- TestMergeSort - uma implementacao do Merge Sort
- TestReverse - Invertendo um array
- TestFloodFill - Fazendo "flood fill" de uma matriz
- TestSets - Gerando todos os subconjuntos de um array
- TestPerm - Gerando todas as permutacoes de um array
7 - Arvores Binarias
- BTree - Arvore binaria simples (ex. metodos: numero de nos, altura, contains; impressoes preorder, inorder, postorder, em largura)
- BSTree - Arvore binaria de pesquisa (ex. metodos: numero de nos, altura, contains, insercao e remocao; impressoes preorder, inorder, postorder, em largura)
- BSTMap - Dicionario de pares (chave,valor) implementado com arvores binarias de pesquisa (ex. metodos: put, get e keys)
8 - Filas de Prioridade (Heaps)
- MinHeap - Fila de prioridade com MinHeap (ex. metodos: insert, min, removeMin)