1 / 66

Prof.: Sergio Pacheco

Estruturas de Dados II. Prof.: Sergio Pacheco. Prof.: Sergio Pacheco. 1. Sumário. Bizus para a Prova A1 Revisão Para a A1; Corrigir Trabalho. Prof.: Sergio Pacheco. 2. Prova em Consulta ??. Aquele Professor ...., Disse que ia ser fácil!!!!. E cada um o SEU !!!!!.

liora
Télécharger la présentation

Prof.: Sergio Pacheco

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Estruturas de Dados II Prof.: SergioPacheco Prof.: Sergio Pacheco 1

  2. Sumário • Bizus para a Prova A1 • Revisão Para a A1; • Corrigir Trabalho. Prof.: Sergio Pacheco 2

  3. Prova em Consulta ?? Aquele Professor ...., Disse que ia ser fácil!!!! E cada um o SEU !!!!! Prof.: Sergio Pacheco 3

  4. Prova em Dupla ?? Prof.: Sergio Pacheco 4

  5. Listas Generalizadas - Definições • São estruturas muitos flexíveis, do tipo recursiva, que garantem a construção de estruturas simples as mais complexas. • Uma lista generalizada L [e1,e2,e3...,en],n>0; • Cada elemento pode ser um átomo ou então uma sublista caracterizando uma outra lista generalizada. • O tamanho da lista é definida pelo valor de n. Se n = 0 é dita lista vazia; • A lista é definida pela cabeça e1(head) e o resto outros elementos (tail). Prof.: Sergio Pacheco 5

  6. Listas Generalizadas - Definições a d b c f e Representação Lista L= [a, [b,c],d,[e, [ ],f ] ]; Prof.: Sergio Pacheco 6

  7. Listas Generalizadas - Exercícios • Desenhe a lista generalizada correspondente : L1 = [[[1], 2], [3, [4, 5]]]; L2 = [[1, [2, 3]], [[4]], 5]; L3 = [[[1, 2], 3], [4, [5]]]; Prof.: Sergio Pacheco 7

  8. Listas Generalizadas - Gabaritos • Desenhe a lista generalizada correspondente : L1 = [[[1], 2], [3, [4, 5]]]; Prof.: Sergio Pacheco 8

  9. Listas Generalizadas - Gabaritos • Desenhe a lista generalizada correspondente : L2 = [[1, [2, 3]], [[4]], 5]; Prof.: Sergio Pacheco 9

  10. Listas Generalizadas - Gabaritos • Desenhe a lista generalizada correspondente : L3 = [[[1], 2], 3], [4, [5]]]; Prof.: Sergio Pacheco 10

  11. Ainda não !! -- Notação Polonesa ou prefixa • Notação Polonesa (no Brasil, em Portugal é Notação Polaca) ou Notação de Prefixo: • É uma forma de notação para lógica, aritmética e álgebra. Não precisa de parênteses ou outros delimitadores para indicar os cálculos que devem ser realizados primeiramente; • Os operadores devem preceder os dois valores numéricos associados. O matemático polonês Jan Łukasiewicz criou essa notação em torno de 1920 para simplificar a lógica nas sentenças matemáticas; • Não é muito usado na matemática convencional, mas muito usado nas ciências da computação. Prof.: Sergio Pacheco 11

  12. Notação Polonesa ou prefixa - Exemplo Exemplo: • Tradicional: A * B - C / D • Polonesa: - * A B / C D Prof.: Sergio Pacheco 12

  13. Avaliar Expressões • Existe 3 tipos de notação, que são: • Infixa = A + B - C; • Prefixa = - + ABC; • Posfixa = AB + C -. • Refere-se a posição relativa do operador em relação aos demais operando; • Na notação prefixa o operador fica antes dos operandos; • Na notação posfixa o operador fica depois dos operandos. Prof.: Sergio Pacheco 13

  14. Avaliar Expressões • Avalie está função abaixo: • A + B * C; Como ficaria na forma prefixa e posfixa ? • As operações com a precedência mais alta são convertidas em primeiro lugar; • Depois que uma parte da expressão for convertida, deve ser tratada como um único operando; • Operadores de mesma precedência, são avaliados da esquerda para a direita. Lê-se da esquerda para a direita Prof.: Sergio Pacheco 14

  15. Avaliar Expressões • Posfixa: • A + B * C; • Passo 1 • A + ( B * C) • Passo 2 • A + ( B C *) • Passo 3 • ABC * + Prof.: Sergio Pacheco 15

  16. Avaliar Expressões • Prefixa: • A + B * C; • Passo 1 • A + ( B * C) • Passo 2 • A + (* B C) • Passo 3 • +A * BC Prof.: Sergio Pacheco 16

  17. Exercícios • Dadas as formas de expressões Infixa convertê-las para Posfixa: • A + B * C; • A + B – C; • (A + B) * ( C + D); • ((A + B) * C – (D - E) / (F + G)); • A – B / (C * D / E). Prof.: Sergio Pacheco 17

  18. Árvore • Existe um nodo denominado Raiz; • Os demais nodos forma sub-árvores, desde que possuam nós filhos, onde cada um desses subconjuntos é uma árvore, ou seja, tirando o nó raiz os nós restantes podem ser divididos em n subconjuntos disjuntos, que são as sub-árvores, e as quais, por sua vez, também são árvores ; • Um nó folha não possui filhos, e seus ponteiros são nulos. • árvore == 0 então a árvore é dita vazia. Prof.: Sergio Pacheco 18

  19. Marcelo Marcos André Viviane Márcia Ângela Rodrigo Gustavo Pedro Daniel Árvore – árvore genealógica Cada nó deve ser atingido partindo pelo nó raiz. Prof.: Sergio Pacheco 19

  20. Árvore - Exercícios Qual é a profundidade da árvore? Quais são os graus dos nodos 18 e 20? Qual é o nível dos nós 9, 13, 1 7 e 18 ? Prof.: Sergio Pacheco 20

  21. Árvore - Exercícios Qual é a profundidade da árvore? R: 4 Quais são os graus dos nodos 18 e 20? R: nó 18 grau 2; nó 20 grau 0. Qual é o nível dos nós 9, 13, 1 7 e 18 ? R: nível do no 9 = 4; nível do no 13 = 3; nível do no 17 = 2; nível do no 18 = 1. Prof.: Sergio Pacheco 21

  22. Árvore – Revisão – Altura (h) Prof.: Sergio Pacheco 22

  23. Árvore Binária • Árvore binária se caracteriza por seus nodos terem no máximo dois filho, ou seja, é uma árvore de grau 2 (no máximo); • Deve-se atentar para os conceitos de sub-arvore direita e esquerda. Nó paie nó filhos (esquerda direita); Prof.: Sergio Pacheco 23

  24. A B C F D E G H I Árvore Binária • Se A é a raiz de uma árvore binária e B é a raiz de sua subárvore direitaou esquerda, então diz-se que A é o pai de B e que B é o filho direito ou esquerdo de A. Prof.: Sergio Pacheco 24

  25. A B C F D E G H I Árvore Binária • Se A é a raiz de uma árvore binária e B é a raiz de sua subárvore direita[ou esquerda], então diz-se que A é o pai de B e que B é o filho direito [ou esquerdo] de A. Subárvore Esquerda Subárvore direita ? Prof.: Sergio Pacheco 25

  26. A B C F D E G H I Árvore Binária • Se A é a raiz de uma árvore binária e B é a raiz de sua subárvore direitaou esquerda, então diz-se que A é o pai de B e que B é o filho direito ou esquerdo de A. Subárvore Esquerda Subárvore direita Nos Irmãos ? Prof.: Sergio Pacheco 26

  27. Árvore Binária • O nó n1 é um ancestral do nó n2 (e n2 é um descendente de n1), se n1 for o pai de n2 ou o pai de algum ancestral de n2. Prof.: Sergio Pacheco 27

  28. Árvore Binária • Mas E não é nem ancestral nem descendente de C. Prof.: Sergio Pacheco 28

  29. Árvore Binária • B, D, E e G são descendentes esquerdos de A. Prof.: Sergio Pacheco 29

  30. Árvore Binária • C, F, H e I são descendentes direitos de A. Prof.: Sergio Pacheco 30

  31. Árvore Binária • Se todo nó que não é folha numa árvore binária tiver Subárvore esquerda e direita não-vazias, a árvore será considerada uma árvore estritamente binária. A C B E D H F Prof.: Sergio Pacheco 31

  32. A C B E D F G J H I L M N O P Árvore Binária • Uma árvore binária completa de profundidade d é a árvore estritamente binária em que todas as folhas estejam no nível d, ou seja, no mesmo nível. Prof.: Sergio Pacheco 32

  33. A C B E D F G J H I L M N O P Árvore Binária • Como todas as folhas nesta árvore estão no nível d, a árvore contém 2d folhas e 2d-1 nós não folhas. Prof.: Sergio Pacheco 33

  34. Árvore Binária • Uma árvore binária de profundidade (altura) d será uma árvore binária quase completa se: • Cada folha na árvore estiver no nível d ou no nível d - 1. • E, para cada nó com descendente direito no último nível, existe a obrigatoriedade de ter, também, descendentes esquerdos, ou seja, uma árvore binária quase completa é uma árvore em que cada nó no último nível que tem um filho a direita tem também um filho a esquerda. Por outro lado no último nível, ter um filho a esquerda não requer um nó com filho a direita. Prof.: Sergio Pacheco 34

  35. Árvore Binária • Uma árvore binária de profundidade d será uma árvore binária quase completa se: • Cada folha na árvore estiver no nível d ou no nível d - 1. No último nível tendo um filho a direita, deve-se ter um filho a esquerda. Prof.: Sergio Pacheco 35

  36. Árvore Binária – Números de nós • Uma árvore estritamente bináriaquase completa com nfolhas tem 2n - 1 nós, assim como qualquer outra árvore estritamente binária com n folhas, onde n é o numero de folhas; • Uma árvore bináriaquase completa com n folhas, que não seja estritamente binária, tem 2n nós, onde n é o numero de folhas. Prof.: Sergio Pacheco 36

  37. Árvore Binária – Números de nós • Uma árvore estritamente binária com n folhas contém sempre 2n - 1 nós. Prof.: Sergio Pacheco 37

  38. Árvore Binária – Números de nós • Uma árvore estritamente binária completa (balanceada) com altura h. Tem-se com a fórmula (2h+1 -1), o numero de nós; • Os números de nós dessa árvore é descoberto pela fórmula a cima; • h = 2 com isso, 2 2+1 – 1 = 7 nós. Prof.: Sergio Pacheco 38

  39. Classificar as árvores binárias, quanto ao tipo, e qual é a fórmula para calcular o números de nós. • Arvore estritamente binária (2 * folhas - 1); • Arvore estritamente binária, quase completa (2 * folhas-1) ou 2Nivel d e 2Nivel d -1 nós não folhas; • Arvore estritamente binária completa (2 h+1 -1); • Árvore binária e quase completa 2 * folhas. Prof.: Sergio Pacheco 39

  40. Numeração da Árvore • Os nós de uma árvore binária quase completa podem ser numerados: • Atribui-se o número 1 à raiz; • Um filho esquerdo recebe a atribuição de um número equivalente ao dobro do número atribuído a seu pai; e • Um filho direito recebe a atribuição de um número equivalente ao dobro do número atribuído a seu pai mais um. Prof.: Sergio Pacheco 40

  41. Numeração da Árvore • Exemplos de numeração de árvores binárias quase completas: Prof.: Sergio Pacheco 41

  42. Percurso pre-ordem em-ordem pós-ordem Prof.: Sergio Pacheco 42

  43. * / E - + B A D C Exercícios • em-ordem - (A + B)/(C - D) * E; * * C pre-ordem – * / + A B – C D E pós-ordem – A B + C D - / E * Prof.: Sergio Pacheco 43

  44. Árvore de Pesquisa Binária • Serve para guardar valores de tal forma que a recuperação dos mesmos possa ser efetuada de forma ordenada; • Assim, cada nó interno de uma árvore binária de pesquisa obedece aos seguintes critérios: • Todo elemento armazenado na subárvore da esquerda for menor que R (Raiz); • Nenhum elemento armazenado na subárvore da direita for menor que R (Raiz); • Nenhum elemento armazenado na subárvore da esquerda for maior que R (Raiz); • As subárvores da esquerda e da direta também forem árvore de busca binária. * C Prof.: Sergio Pacheco 44

  45. 50 10 15 20 0 30 70 Árvore de Pesquisa Binária • Exemplo {50,10,15,20,0,30,70} * • A localização do ‘ponto de inserção’ é semelhante à busca por um valor na árvore. • Após a inserção do novo elemento, a árvore deve manter as propriedades de ‘árvore binária de busca’. • O nó inserido é sempre uma folha. Prof.: Sergio Pacheco 45

  46. g m d i a b h l j z Árvore de Pesquisa Binária • Exercícios {g,i,a,b,h,j,l,m,z, d} Prof.: Sergio Pacheco 46

  47. Revisão - Inserção em árvore binária • Exemplo: 14 15 4 9 7 18 3 5 16 4 20 17 9 14 5. 14 Prof.: Sergio Pacheco 47

  48. Revisão - Inserção em árvore binária • Exemplo: 14 15 4 9 7 18 3 5 16 4 20 17 9 14 5. 14 15>14 15 Prof.: Sergio Pacheco 48

  49. Revisão - Inserção em árvore binária • Exemplo: 14 15 4 9 7 18 3 5 16 4 20 17 9 14 5. 4<14 14 4 15 Prof.: Sergio Pacheco 49

  50. Revisão - Inserção em árvore binária • Exemplo: 14 15 4 9 7 18 3 5 16 4 20 17 9 14 5. 9<14 14 4 15 Prof.: Sergio Pacheco 50

More Related