Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary...

18
Árvore binária SISTEMAS DE INFORMAÇÃO

Transcript of Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary...

Page 1: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

SISTEMAS DE INFORMAÇÃO

Page 2: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

Conceito Uma árvore binária, ou binary tree, é um tipo

de estrutura de dados, formados por Nós (ou células), que satisfazem algumas condições.

Page 3: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

Page 4: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

Árvore Binária T é um conjunto finito de elementos denominados nós ou vértices, tal que:

T = 0 e a árvore é dita vazia ou

Existe um nó r, chamado raiz de T, e os nós

restantes podem ser divididos em dois subconjuntos disjuntos, que são as sub-árvores esquerda e direita de r, respectivamente e as quais, por sua vez, também são árvores binárias.

Page 5: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

Conceito Uma árvore é composta por um nó raiz e suas

sub-árvores (esquerda e direita). Cada nó pode conter diversas informações

representadas por uma estrutura.

Arvore T

Sub-Arvore

Sub-Arvore

RAIZ

Page 6: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

Termos Nós são todos os itens guardados na árvore. Raiz é o item do topo da árvore (neste caso, o

número 50). Filhos são os itens logo abaixo da raiz, 30 e

90 e assim sequencialmente. Por exemplo, o 20 é filho do 30.

Parentes são os nós do mesmo nível. Por exemplo, o 90 é parente do 30.

Folha é um nó que não tem filho, é o último item da árvore. Por exemplo, 20, 40 e 100.

Page 7: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

Vantagens A árvore binária traz benefícios nas inserções,

remoções e principalmente nas buscas, pois são inseridas em uma ordem previamente definida.

Cada nó é composto por um núcleo (local que armazena as informações) e por indicadores esquerdo e direito, responsáveis por apontar para as sub-árvores.

Page 8: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

Page 9: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária

Visualização da Árvore Binária usando ponteiros

raiz

esq dirA

B C

E FD

G H I

Page 10: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Árvore binária - Referências

http://equipe.nce.ufrj.br/adriano/c/apostila/arvore.htm

Page 11: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Criptografia - Cifra de César

Em criptografia, a Cifra de César é uma das mais simples e conhecidas técnicas de criptografia. É um tipo de cifra de substituição em que

cada letra do texto é substituída por outra, que se apresenta no alfabeto abaixo dela um número fixo de vezes.

Por exemplo, com uma troca de 3 posições, A seria substituído por D, B viraria E e assim por diante.

Page 12: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Criptografia - Cifra de César

A transformação pode ser representada alinhando-se dois alfabetos; o alfabeto normal o alfabeto cifrado rotacionado à direita ou

esquerda com um número fixo de posições. Por exemplo, aqui está uma cifra de César

usando uma rotação à esquerda de 3 posições (o parâmetro de troca, 3 neste caso, é usado como chave e deve ser transmitido por um canal seguro).

Page 13: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Criptografia - Cifra de César

Para criptografar uma mensagem, simplesmente observe cada letra da mensagem na linha "Normal" e escreva a letra correspondente da linha "Cifrado". Para decriptografar, faça o contrário.

Page 14: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Criptografia - Cifra de César

Decifrando um código Para decifrar um código é necessário saber

a chave a ser usada, a partir de então, aplica-se o processo contrário.

Page 15: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Criptografia - Cifra de César

Decifrando um código Cifra de César pode ser facilmente decifrada

mesmo num cenário em que se tenha apenas o texto cifrado. Duas situações podem ser consideradas:

1) o interceptador conhece (ou adivinha) que algum tipo de cifra de substituição simples foi usada, mas não especificamente que é um código de César; e

2) o atacante sabe que a cifra de César foi usada, mas não sabe o valor de troca.

Page 16: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Criptografia - Cifra de César

TRABALHO Desenvolva um programa em C que receba um

número chave (indica a quantidade de posições) do usuário. Seu programa deverá permitir a codificação de uma mensagem , e ou a decodificação.

DICA: argc e argv. Linha de comando:

Codificar “Unipac Araguari” 3 => xqlsdf dudjxdul Decodificar “xqlsdf dudjxdul” 3 => Unipac Araguari

Data entrega: Quinta (dia 25/06) e sábado (27/06/2009)

Valor 5 pts - Individual. (trabalhos iguais – 0 zero para os dois)

Page 17: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Criptografia - Cifra de César

Desafio (5pontos) Desenvolva um programa que tente

decodificar um texto sem ter o conhecimento da chave (simplesmente do texto). Dica:

Algoritmo força bruta Análise de frequencia

O aluno que fizer e apresentar, individualmente 100% do trabalho poderá retirar da prova 5 pontos, caso contrario, a prova valerá o seu valor normal.

Page 18: Árvore binária SISTEMAS DE INFORMAÇÃO. Árvore binária Conceito Uma árvore binária, ou binary tree, é um tipo de estrutura de dados, formados por Nós (ou.

Criptografia - Cifra de César

Avaliação Data 02/07/2009

Material Estruturas de dados

Lista Pilha Fila Arvore binária Cifra de Cesar