55
Estrutura de Dados: Aula 3 - Linguagem C

Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Estrutura de Dados:Aula 3 - Linguagem C

Page 2: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Uso de Memória

● Alocação de memória Estática – Ocorre em tempo de compilação

– no momento em que se define uma variável ou estrutura é necessário que se definam seu tipo e tamanho.

– Exemplos:● Vetores e Matrizes

● Alocação de memória Dinâmica– ocorre em tempo de execução

– variáveis e estruturas são declaradas sem a necessidade de se definir seu tamanho

– nenhuma memória será reservada ao colocar o programa em execução

Page 3: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● última informação a entrar é a primeira a sair– LIFO - last in irst out

● conjunto ordenado de itens

● Os itens são adicionados e removidos pelo topo.

Page 4: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Funções

– push - coloca uma informação na pilha (empilha).

– pop - retira uma informação da pilha (desempilha).

– size - retorna o tamanho da pilha.

– stackpop - retorna o elemento superior da pilha sem removê-lo .

– empty - verifica se a pilha está vazia.

Page 5: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Pseudo-código

Page 6: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Pseudo-código

Page 7: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Pseudo-código

Page 8: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Pseudo-código

Page 9: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Pseudo-código

Page 10: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Inserção

Page 11: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Remoção

Page 12: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

PILHA

● Resumindo

Page 13: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Fila

● Um item é adicionado no final da fila e é retirado no início da fila.– Primeiro que entra é o primeiro que sai

● First in, First out (FIFO)

Page 14: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Fila

● Função– insert ou enqueue - insere itens numa fila (ao

inal).

– remove ou dequeue - retira itens de uma fila (primeiro item).

– empty - verifica se a fila está vazia.

– size - retorna o tamanho da fila.

– front - retorna o próximo item da fila sem retirar o mesmo da fila.

Page 15: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Fila

● Pseudo-código

Page 16: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Fila

● Pseudo-código

Page 17: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Fila

● Pseudo-código

Page 18: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Fila

● Pseudo-código

Page 19: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Fila

● Pseudo-código

Page 20: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Fila●

Fi la

Ci r

cul a

r

Page 21: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Lista

● Similar a um pilha ou fila● Possui tamanho fixo na memória● Tipos

– Simplesmente ligada

– Lista circular

– Ordenada

– Não ordenada

Page 22: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Lista

● Lista simplesmente encadeada

Page 23: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Lista

● Lista duplamente encadeada

Page 24: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Lista

● Operações

– insert - insere num determinado ponto uma informação na lista.

– add - adiciona ao inal da lista uma informação.

– delete - deleta um nó da lista.

– info - retorna uma informação da lista atual.

– next - desloca o ponteiro atual da lista caminhando para o inal.

– last - desloca o ponteiro atual da lista caminhando para o início da lista.

Page 25: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Lista●

Pseu

do-c

ód

igo

Page 26: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Lista●

Pseu

do-c

ód

igo

Page 27: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Árvore Binária

Page 28: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Árvore Binária

Page 29: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Árvore Binária

Page 30: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Árvore Binária

● Relações

● Grau de saída do nó

● Caminho

● Nível do nó

● Altura do nó

Page 31: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Árvore Binária Completa

● Profundidade: K● O número total de nós é:

Page 32: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Inserção● Pesquisa● Exclusão● Maior elemento● Menor elemento● Percorrendo uma árvore

Page 33: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Inserção– Busca elemento

● Se não existir e for menor é colocado na subárvore da esquerda do nó raiz

● Se não existir e for maior é colocado na subárvore da direita do nó raiz

Page 34: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Inserção–

Page 35: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Pesquisa– Se o valor for igual a raiz

● Encontrou o valor

– Se valor de busca menor que o da raiz● Buscar na subárvore da esquerda.

– Se valor de busca maior que o da raiz● Buscar na subárvore da direita.

Page 36: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Pesquisa–

Page 37: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Exclusão– Exclusão da folha

Page 38: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Exclusão– Exclusão de nó com um filho

Page 39: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias● Exclusão

– Exclusão de nó com dois filhos● Substituir o valor do nó a ser retirado pelo valor

sucessor (o nó mais à esquerda da subárvore direita).

Page 40: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Exclusão

– Exclusão de nó com dois filhos● Substituir o valor do nó a ser retirado pelo valor

antecessor (o nó mais à direita da subárvore esquerda).

Page 41: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Exclusão

Page 42: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Exclusão

Page 43: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Maior elemento– Elemento mais a direita

Page 44: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Menor elemento– Elemento mais a esquerda da árvore

Page 45: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Percorrendo uma árvore– Visitar todos os nós

– pré-ordem ou profundidade●

Page 46: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Percorrendo uma árvore– Visitar todos os nós

– pré-ordem ou profundidade●

Page 47: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Percorrendo uma árvore– Visitar todos os nós

– pós-ordem ●

Page 48: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Percorrendo uma árvore– Visitar todos os nós

– pós-ordem ●

Page 49: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Percorrendo uma árvore– Visitar todos os nós

– ordem simétrica●

Page 50: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Percorrendo uma árvore– Visitar todos os nós

– ordem simétrica●

Page 51: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

● Operações em Árvores Binárias

● Percorrendo uma árvore– Visitar todos os nós

– ordem simétrica●

Page 52: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Árvore Binária

Page 53: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Árvore Binária

Page 54: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Árvore Binária

Page 55: Aula 3 - Linguagem Caulas.iborderless.com.br/wp-content/uploads/2019/02/ED-Aula-3-Estrutu... · – LIFO - last in irst out conjunto ordenado de itens Os itens são adicionados e

Ordenação

● BubbleSort

● Ordenação por Seleção

● Ordenação por Inserção

● QuickSort

● MergeSort

● HeapSort

● ShellSort

● Ordenação Digital

● Ordenação Parcial