Opção 1 Para adicionar



Antonio Álvaro Oliveira da Silva
    Wallysson Ferreira Araruna
   Tem como objetivo fazer uma breve apresentação
das características da linguagem de programação
Python e fazer uma introdução a estrutura de dados
da referida linguagem.




           Introdução a Estrutura de Dados em Python
                                                       2
   Uma Linguagem de Programação de fonte aberta,
    ou   seja,     Software              Livre:         Python   Software
    Foundation e orientada a objetos.
   É de fácil aprendizado.
   Linguagem de Programação de Alto Nivel.
   Sua Sintaxe elegante e tipagem dinâmica e forte.
   Funciona na maioria dos sistemas operacionais.

            Introdução a Estrutura de Dados em Python
                                                                            3
   Os Blocos de comandos são delimitados por meio
    da indentação.
   Não precisa ser compilado para a sua execução, o
    programa é interpretado em tempo de execução.
   A declaração de variáveis pode ocorrer em
    qualquer ponto do programa, no entanto deve ser
    utilizada a variavel.

             Introdução a Estrutura de Dados em Python
                                                         4
 Tiposde Dados:
   Os tipos de dados podemos definir em
     dois tipos os simples e compostos.


                                Tipos de              Compostos
    Simples                      Dados



   Numérico e                                           Lista,Tupla ,
     Texto                                               Dicionário,
                                                        Filas e Pilhas
          Introdução a Estrutura de Dados em Python
                                                                         5
   Lista:
        E uma seqüencia de valores de qualquer tipo,são mutáveis podendo ser
                           alternadas a qualquer momento.
   Tupla:
       É um tipo de lista com objetivo de armazenar um conjunto de elementos
                             acessíveis pelo índice inteiro.
                          Diferentes da lista ,são imutáveis.

   Dicionário:
              São conhecidos também como “vetores de associação”,
               
tendo como diferença das listas na sua indexação, pois ela é feita através de chaves.

   Classe:
         Estrutura fundamental para definir objetos.




                   Introdução a Estrutura de Dados em Python
                                                                                        6
 Def.:
  class Ponto: # criando a classe, criar um novo tipo de dado,
  ponto.
      pass # o comando não tem nenhum efeito no código.
                # membros desse novo tipo são chamados instancia
     deste      tipo ou objetos.
                # criar uma nova instancia é instanciar.




             Introdução a Estrutura de Dados em Python
                                                                   7
final = Ponto( ) # A variável final contém uma referencia a um
novo objeto da classe Ponto.

final.x = 3.0 # adicionando novos dados a um objeto.
final.y = 4.0 # esse item de dados é o seu atributo.
                 # A variável final refere-se a um objeto ponto que
contem
                 # dois atributos e cada atributo referencia a um
numero.
Print final.y
Wall = final.x          # acessando um item de dados de um objeto e
                                  # atribuindo a variável wall.
# Diagrama

              Introdução a Estrutura de Dados em Python
                                                                      8
def mostrarPonto(p):
            print „ („ +str (p.x)+ ‟ , ‟ +str(p.y)+‟) ‟

# A função mostrarPonto pega o ponto (p) como um argumento e mostra-o no formato (x,y)

# Verificar se duas referências se referem ao mesmo objeto:
class Ponto:
  pass
p1 = Ponto() #Mesmo que p1 e p2 contenham os mesmos valores , não presentam o mesmo
p1.x = 10.0 #objeto
p1.y = 5.0

p2 = Ponto()
p2.x = 10.0
p2.y = 5.0
print p1 == p2 #FALSE
p2 = p1 #se atribuímos p1 a p2 então as duas variáveis são o mesmo objeto

print p1 == p2 #TRUE
#chama-se de igualdade rasa, quando compara somente as referencias e não os conteúdos dos
objetos
def mostrarPonto(p1, p2):
  return (p1.x == p2.x) and (p1.y == p2.y)
#comparar o conteúdo dos objetos, igualdade profunda.
                        Introdução a Estrutura de Dados em Python
                                                                                            9
class Detalhes:
  pass

wall = Detalhes()
wall.altura = 1.77
wall.peso = 90

wall.vida = Detalhes() # um novo objeto dentro de outro objeto.
wall.vida.profissional = "Otimo"
wall.vida.amorosa = "ruim"

#Diagrama

#mudando o estado de um objeto.

def mudarEstado(obj, alt, peso, trab, amor):
  obj.altura = alt
  obj.peso = peso
  obj.vida.profissional = trab
  obj.vida.profissional = amor

def exibi(algo): #o parâmetro „algo‟ é apelido para „wall „e qualquer mudança feita e „algo‟ afeta “bob”
  print algo.altura
  print algo.peso
  print algo.vida.profissional
  print algo.vida.amorosa
  print

exibi(wall)
mudarEstado(wall, 1.50, 70, "ruim", "altas")
exibi(wall)              Introdução a Estrutura de Dados em Python
                                                                                                           10
import copy
p3 = Ponto()
p3.x = 24
p3.y = 44
p4 = copy.copy(p3)
print
print
print "p4 == p3", p4 == p3
print mostrarPonto(p3,p4)
#para copiar um simples objeto sem nenhum objeto
embutido, isto é shallow copia.

          Introdução a Estrutura de Dados em Python
                                                      11
Mas caso o objeto contenha uma referencia para outro objeto, o método copy não ira
executar corretamente.
#Diagrama
Solução é usar metodo deepcopy que copia todo e qualuqer objeto embutido em um
objeto.
wall2 = copy.deepcopy(wall)
Agora wall2 e wall são objetos completamente separados com os mesmo conteúdos .
def mudar(obj, alt, peso, trab, amor):
  p1 = copy.deepcopy(obj)
  p1.altura = alt
  p1.peso = peso
  p1.vida.profissional = trab
  p1.vida.profissional = amor
  return p1

wall2 = mudar(wall, 1.50, 70, "ruim", "altas")
exibi(wall2)
exibi(wall)
                  Introdução a Estrutura de Dados em Python
                                                                                     12
 Funções  Pura = Não modifica nenhum
  dos objetos que são passados como
  parâmetros e não tem efeito colateral de
  imprimir um valor ou pegar entrada do
  usuário.
 Funções Modificadoras = funções que
  modificar um ou mais dos objetos que
  ela recebe como parâmetro.

        Introdução a Estrutura de Dados em Python
                                                    13
 Métodos são como funções com duas
 diferenças:
 • Métodos são definidos dentro da definição de
   uma classe para tornar explicita a relação entre
   a classe e o método.
 • A sintaxe para a chamada do método é diferente
   da sintaxe para a chamada de uma função.




        Introdução a Estrutura de Dados em Python
                                                      14
Introdução a Estrutura de Dados em Python
                                            15
   Também chamado de construtor, é um método especial que
    é invocado automaticamente quando um novo objeto é
    criado e que inicializa os atributos deste objetos.
class Carta:
  def __init__(self, naipe=0, posicao=0): #fornecemos um
método de
       #inicialização
    self.naipe = naipe # que recebe um parâmetro opcional
para                   #cada atributo.
    self.posicao = posicao

tresDePaus = Carta(0,3) #criando um objeto



             Introdução a Estrutura de Dados em Python
                                                             16
Um atributo de classe é definido fora de qualquer método, assim ele pode acessado por
quaisquer método da classe.
class Carta:
  listaDeNaipes = ["paus","Ouro","Copas","Espadas"]
  listaDePosicoes =
["nada","Ás","2","3","4","5","6","7","8","9","10","Valete","Rainha","Rei"]
  def __init__(self, naipe=0, posicao=0): #fornecemos um metodo de inicialização
    self.naipe = naipe # que recebe um parametro opcional para cada atributo.
    self.posicao = posicao
  def __str__(self):
    return(self.listaDePosicoes[self.posicao] + " de "+self.listaDeNaipes[self.naipe])


carta1 = Carta(1,11) #criando um objeto
print carta1



                  Introdução a Estrutura de Dados em Python
                                                                                         17
 Uma  lista (list) em Python tem como sintaxe uma
  seqüência de valores separados por vírgula e
  entre [].
 Uma coleção Heterogêneas de Objeto,ou seja, os
  valores não precisam ser do mesmo tipo.
 São mutáveis em Python.

                             Sintaxe:
                      Lista=[1,2,3,4]

         Introdução a Estrutura de Dados em Python
                                                     18
Introdução a Estrutura de Dados em Python
                                            19
Introdução a Estrutura de Dados em Python
                                            20
 Quem    Nunca enfrentou Uma Fila?
 Na programação é mesma lógica, o primeiro
  elemento a entrar em uma fila será o primeiro a
  sair conhecido como sigla de first-in-first-out ou
  FIFO.
 Os elementos são utilizados,sequencialmente,
  na ordem que são armazenados.
 Fila não é nativa de Python, mas podemos
  utilizar as Listas.
 Para Adicionar usa-se append().
 Para remover usa-se pop() com Índice 0.
          Introdução a Estrutura de Dados em Python
                                                       21
As Filas (queues) são conjuntos de elementos é
adicionado em extremidade e removida em outra.


          Seqüência armazenada em Fila




 Novos Elementos                            O primeiro Elemento a
 São Armazenados                            Entrar Será o Primeiro
                                            Elemento a Sair
           Introdução a Estrutura de Dados em Python
                                                                     22
LEMBRETE: O TDA ou tipo
                                                        abstrato de dado especifica
                                                        um conjunto de operações (ou
                                                        métodos) e a semântica das
A Fila existe dois tipos TDA, a                         operações (o que elas fazem),
fila e fila por prioridade.                             mas não especifica a
                                                        implementação das
                                                        operações. Isto é o que o faz
    A fila está na política de                         abstrato

 enfileiramento,ou seja, a FIFO.



  A fila por prioridade o próprio
  nome já diz, os elementos que
tem prioridade são atendidos por
              primeiro.


            Introdução a Estrutura de Dados em Python
                                                                                    23
 __init__: Inicializar
                      uma nova fila vazia.
 Insert: Adicionar um novo item à fila.
 remove: Remover e retornar um item da
  fila. O item retornado é o que foi
  adicionado primeiro.
 isEmpty: Checar se a fila está vazia.




         Introdução a Estrutura de Dados em Python
                                                     24
 As  Pilhas são conhecidas como LIFO(last
 in, first out – último a entrar) ou PEPS.
     O item adicionado por último é o primeiro a ser
                        removido.
 Uma  pilha é uma coleção que contem
  múltiplos elementos.
 O exemplo mais conhecido é de uma
  pilha de pratos.


           Introdução a Estrutura de Dados em Python
                                                        25
Novos                                            Último
 Elementos                                      elemento que
   sendo                                        entrou será o
 adicionado                                       primeiro a
  na Pilha.                                          sair.




Sequencia de
Armazenament
o na Pilha




         Introdução a Estrutura de Dados em Python
                                                                26
 __init__: Inicializa uma nova pilha vazia.
 push : Adiciona um novo item na pilha
 pop : Remove um ítem da pilha e o
  retorna, O ítem que é retornado é
  sempre o último adicionado.
 isEmpty :Verifica se a pilha está vazia.




         Introdução a Estrutura de Dados em Python
                                                     27
 “É
             uma estrutura de dados
      bidimensional, não-linear, que possui
           propriedades especiais”
                                                         Puga & Risseti,2009.
   Admite muitas operações de conjuntos dinâmicos:
                           Pesquisa
                           Inserção
     Árvores são
 estruturas de dados       Remoção
recursivas já que elas    Ordenação
    são definidas       E entre outros.
  recursivamente.


             Introdução a Estrutura de Dados em Python
                                                                                28
 São Uteis para Implementação de algoritmos que
necessitam de estruturas hierárquicas.
Por exemplo:
     Diretórios e Pasta de Arquivos de Um Computador.




          Introdução a Estrutura de Dados em Python
                                                        30
 No topo das árvores é chamada de RAIZ,
  e as outras células são chamadas de
  GALHO e nas pontas contendo as
  referencias vazias são chamadas
  FOLHAS.
 Uma célula superior pode ser chamada
  de PAI e as células que se refere a ele
  são FILHOS, e as células com o mesmo
  pai são considerados IRMÃOS.
        Introdução a Estrutura de Dados em Python
                                                    31
 O nó 8: É a Raiz
                     Os nós 3 ,10,14 e 6: São
                     chamadas de Pai
                      Os nós 1,4,7 e 13: São
                     Filhos




Introdução a Estrutura de Dados em Python
                                                 32
   Puga Sandra,Risseti Gerson.Lógica de Programação e Estruturas
    de Dados Com aplicações em Java.Ed. Person Prentice Hall,2009,
    2ªedicão.
   Árvore Binária de Busca. Disponível em :
    <http://pt.wikipedia.org/wiki/%C3%81rvore_bin%C3%A1ria_de_bu
    sca >Acesso No dia 17 de Julho de 2012 ás 14h:58min.
   Rossum Van Guido.Tutorial Python Release 2.4.2.Disponivel em:
    <www.python.org.br/wiki/DocumentacaoPython?...python24.pdf>A
    cesso No dia 13 de Julho de 2012 ás 9h:10min.
   Capitulo 18 : Pilhas. Disponível
    em:<http://py.franciscosouza.net/capitulo_18.html>. Acesso No dia
    17 de Julho de 2012 ás 15h:10min.
   Capitulo 19 : Filas. Disponível
    em:<http://py.franciscosouza.net/capitulo_19.html>. Acesso No dia
    17 de Julho de 2012 ás 15h:00min.
   Capitulo 20 : Árvores. Disponível
    em:<http://py.franciscosouza.net/capitulo_20.html>. Acesso No dia
    17 de Julho de 2012 ás 15h:20min.
              Introdução a Estrutura de Dados em Python
                                                                        33
o Borges Eduardo Luiz.Python Para Desenvolvedores. Rio de
Janeiro, Edição do Autor, 2009.




             Introdução a Estrutura de Dados em Python
                                                            34
Introdução a Estrutura de Dados em Python
                                            35
Introdução a Estrutura de Dados em Python
                                            36
Obrigado pela
  Atenção!

 Introdução a Estrutura de Dados em Python
                                             37

Introdução a estruturas de dados em python

  • 1.
    Opção 1 Paraadicionar Antonio Álvaro Oliveira da Silva Wallysson Ferreira Araruna
  • 2.
    Tem como objetivo fazer uma breve apresentação das características da linguagem de programação Python e fazer uma introdução a estrutura de dados da referida linguagem. Introdução a Estrutura de Dados em Python 2
  • 3.
    Uma Linguagem de Programação de fonte aberta, ou seja, Software Livre: Python Software Foundation e orientada a objetos.  É de fácil aprendizado.  Linguagem de Programação de Alto Nivel.  Sua Sintaxe elegante e tipagem dinâmica e forte.  Funciona na maioria dos sistemas operacionais. Introdução a Estrutura de Dados em Python 3
  • 4.
    Os Blocos de comandos são delimitados por meio da indentação.  Não precisa ser compilado para a sua execução, o programa é interpretado em tempo de execução.  A declaração de variáveis pode ocorrer em qualquer ponto do programa, no entanto deve ser utilizada a variavel. Introdução a Estrutura de Dados em Python 4
  • 5.
     Tiposde Dados:  Os tipos de dados podemos definir em dois tipos os simples e compostos. Tipos de Compostos Simples Dados Numérico e Lista,Tupla , Texto Dicionário, Filas e Pilhas Introdução a Estrutura de Dados em Python 5
  • 6.
    Lista:  E uma seqüencia de valores de qualquer tipo,são mutáveis podendo ser alternadas a qualquer momento.  Tupla:  É um tipo de lista com objetivo de armazenar um conjunto de elementos acessíveis pelo índice inteiro.  Diferentes da lista ,são imutáveis.  Dicionário: São conhecidos também como “vetores de associação”,  tendo como diferença das listas na sua indexação, pois ela é feita através de chaves.  Classe:  Estrutura fundamental para definir objetos. Introdução a Estrutura de Dados em Python 6
  • 7.
     Def.: class Ponto: # criando a classe, criar um novo tipo de dado, ponto. pass # o comando não tem nenhum efeito no código. # membros desse novo tipo são chamados instancia deste tipo ou objetos. # criar uma nova instancia é instanciar. Introdução a Estrutura de Dados em Python 7
  • 8.
    final = Ponto() # A variável final contém uma referencia a um novo objeto da classe Ponto. final.x = 3.0 # adicionando novos dados a um objeto. final.y = 4.0 # esse item de dados é o seu atributo. # A variável final refere-se a um objeto ponto que contem # dois atributos e cada atributo referencia a um numero. Print final.y Wall = final.x # acessando um item de dados de um objeto e # atribuindo a variável wall. # Diagrama Introdução a Estrutura de Dados em Python 8
  • 9.
    def mostrarPonto(p): print „ („ +str (p.x)+ ‟ , ‟ +str(p.y)+‟) ‟ # A função mostrarPonto pega o ponto (p) como um argumento e mostra-o no formato (x,y) # Verificar se duas referências se referem ao mesmo objeto: class Ponto: pass p1 = Ponto() #Mesmo que p1 e p2 contenham os mesmos valores , não presentam o mesmo p1.x = 10.0 #objeto p1.y = 5.0 p2 = Ponto() p2.x = 10.0 p2.y = 5.0 print p1 == p2 #FALSE p2 = p1 #se atribuímos p1 a p2 então as duas variáveis são o mesmo objeto print p1 == p2 #TRUE #chama-se de igualdade rasa, quando compara somente as referencias e não os conteúdos dos objetos def mostrarPonto(p1, p2): return (p1.x == p2.x) and (p1.y == p2.y) #comparar o conteúdo dos objetos, igualdade profunda. Introdução a Estrutura de Dados em Python 9
  • 10.
    class Detalhes: pass wall = Detalhes() wall.altura = 1.77 wall.peso = 90 wall.vida = Detalhes() # um novo objeto dentro de outro objeto. wall.vida.profissional = "Otimo" wall.vida.amorosa = "ruim" #Diagrama #mudando o estado de um objeto. def mudarEstado(obj, alt, peso, trab, amor): obj.altura = alt obj.peso = peso obj.vida.profissional = trab obj.vida.profissional = amor def exibi(algo): #o parâmetro „algo‟ é apelido para „wall „e qualquer mudança feita e „algo‟ afeta “bob” print algo.altura print algo.peso print algo.vida.profissional print algo.vida.amorosa print exibi(wall) mudarEstado(wall, 1.50, 70, "ruim", "altas") exibi(wall) Introdução a Estrutura de Dados em Python 10
  • 11.
    import copy p3 =Ponto() p3.x = 24 p3.y = 44 p4 = copy.copy(p3) print print print "p4 == p3", p4 == p3 print mostrarPonto(p3,p4) #para copiar um simples objeto sem nenhum objeto embutido, isto é shallow copia. Introdução a Estrutura de Dados em Python 11
  • 12.
    Mas caso oobjeto contenha uma referencia para outro objeto, o método copy não ira executar corretamente. #Diagrama Solução é usar metodo deepcopy que copia todo e qualuqer objeto embutido em um objeto. wall2 = copy.deepcopy(wall) Agora wall2 e wall são objetos completamente separados com os mesmo conteúdos . def mudar(obj, alt, peso, trab, amor): p1 = copy.deepcopy(obj) p1.altura = alt p1.peso = peso p1.vida.profissional = trab p1.vida.profissional = amor return p1 wall2 = mudar(wall, 1.50, 70, "ruim", "altas") exibi(wall2) exibi(wall) Introdução a Estrutura de Dados em Python 12
  • 13.
     Funções Pura = Não modifica nenhum dos objetos que são passados como parâmetros e não tem efeito colateral de imprimir um valor ou pegar entrada do usuário.  Funções Modificadoras = funções que modificar um ou mais dos objetos que ela recebe como parâmetro. Introdução a Estrutura de Dados em Python 13
  • 14.
     Métodos sãocomo funções com duas diferenças: • Métodos são definidos dentro da definição de uma classe para tornar explicita a relação entre a classe e o método. • A sintaxe para a chamada do método é diferente da sintaxe para a chamada de uma função. Introdução a Estrutura de Dados em Python 14
  • 15.
    Introdução a Estruturade Dados em Python 15
  • 16.
    Também chamado de construtor, é um método especial que é invocado automaticamente quando um novo objeto é criado e que inicializa os atributos deste objetos. class Carta: def __init__(self, naipe=0, posicao=0): #fornecemos um método de #inicialização self.naipe = naipe # que recebe um parâmetro opcional para #cada atributo. self.posicao = posicao tresDePaus = Carta(0,3) #criando um objeto Introdução a Estrutura de Dados em Python 16
  • 17.
    Um atributo declasse é definido fora de qualquer método, assim ele pode acessado por quaisquer método da classe. class Carta: listaDeNaipes = ["paus","Ouro","Copas","Espadas"] listaDePosicoes = ["nada","Ás","2","3","4","5","6","7","8","9","10","Valete","Rainha","Rei"] def __init__(self, naipe=0, posicao=0): #fornecemos um metodo de inicialização self.naipe = naipe # que recebe um parametro opcional para cada atributo. self.posicao = posicao def __str__(self): return(self.listaDePosicoes[self.posicao] + " de "+self.listaDeNaipes[self.naipe]) carta1 = Carta(1,11) #criando um objeto print carta1 Introdução a Estrutura de Dados em Python 17
  • 18.
     Uma lista (list) em Python tem como sintaxe uma seqüência de valores separados por vírgula e entre [].  Uma coleção Heterogêneas de Objeto,ou seja, os valores não precisam ser do mesmo tipo.  São mutáveis em Python. Sintaxe: Lista=[1,2,3,4] Introdução a Estrutura de Dados em Python 18
  • 19.
    Introdução a Estruturade Dados em Python 19
  • 20.
    Introdução a Estruturade Dados em Python 20
  • 21.
     Quem Nunca enfrentou Uma Fila?  Na programação é mesma lógica, o primeiro elemento a entrar em uma fila será o primeiro a sair conhecido como sigla de first-in-first-out ou FIFO.  Os elementos são utilizados,sequencialmente, na ordem que são armazenados.  Fila não é nativa de Python, mas podemos utilizar as Listas.  Para Adicionar usa-se append().  Para remover usa-se pop() com Índice 0. Introdução a Estrutura de Dados em Python 21
  • 22.
    As Filas (queues)são conjuntos de elementos é adicionado em extremidade e removida em outra. Seqüência armazenada em Fila Novos Elementos O primeiro Elemento a São Armazenados Entrar Será o Primeiro Elemento a Sair Introdução a Estrutura de Dados em Python 22
  • 23.
    LEMBRETE: O TDAou tipo abstrato de dado especifica um conjunto de operações (ou métodos) e a semântica das A Fila existe dois tipos TDA, a operações (o que elas fazem), fila e fila por prioridade. mas não especifica a implementação das operações. Isto é o que o faz A fila está na política de abstrato enfileiramento,ou seja, a FIFO. A fila por prioridade o próprio nome já diz, os elementos que tem prioridade são atendidos por primeiro. Introdução a Estrutura de Dados em Python 23
  • 24.
     __init__: Inicializar uma nova fila vazia.  Insert: Adicionar um novo item à fila.  remove: Remover e retornar um item da fila. O item retornado é o que foi adicionado primeiro.  isEmpty: Checar se a fila está vazia. Introdução a Estrutura de Dados em Python 24
  • 25.
     As Pilhas são conhecidas como LIFO(last in, first out – último a entrar) ou PEPS.  O item adicionado por último é o primeiro a ser removido.  Uma pilha é uma coleção que contem múltiplos elementos.  O exemplo mais conhecido é de uma pilha de pratos. Introdução a Estrutura de Dados em Python 25
  • 26.
    Novos Último Elementos elemento que sendo entrou será o adicionado primeiro a na Pilha. sair. Sequencia de Armazenament o na Pilha Introdução a Estrutura de Dados em Python 26
  • 27.
     __init__: Inicializauma nova pilha vazia.  push : Adiciona um novo item na pilha  pop : Remove um ítem da pilha e o retorna, O ítem que é retornado é sempre o último adicionado.  isEmpty :Verifica se a pilha está vazia. Introdução a Estrutura de Dados em Python 27
  • 28.
     “É uma estrutura de dados bidimensional, não-linear, que possui propriedades especiais” Puga & Risseti,2009.  Admite muitas operações de conjuntos dinâmicos:  Pesquisa  Inserção Árvores são estruturas de dados  Remoção recursivas já que elas  Ordenação são definidas  E entre outros. recursivamente. Introdução a Estrutura de Dados em Python 28
  • 29.
     São Uteispara Implementação de algoritmos que necessitam de estruturas hierárquicas. Por exemplo: Diretórios e Pasta de Arquivos de Um Computador. Introdução a Estrutura de Dados em Python 30
  • 30.
     No topodas árvores é chamada de RAIZ, e as outras células são chamadas de GALHO e nas pontas contendo as referencias vazias são chamadas FOLHAS.  Uma célula superior pode ser chamada de PAI e as células que se refere a ele são FILHOS, e as células com o mesmo pai são considerados IRMÃOS. Introdução a Estrutura de Dados em Python 31
  • 31.
     O nó8: É a Raiz Os nós 3 ,10,14 e 6: São chamadas de Pai  Os nós 1,4,7 e 13: São Filhos Introdução a Estrutura de Dados em Python 32
  • 32.
    Puga Sandra,Risseti Gerson.Lógica de Programação e Estruturas de Dados Com aplicações em Java.Ed. Person Prentice Hall,2009, 2ªedicão.  Árvore Binária de Busca. Disponível em : <http://pt.wikipedia.org/wiki/%C3%81rvore_bin%C3%A1ria_de_bu sca >Acesso No dia 17 de Julho de 2012 ás 14h:58min.  Rossum Van Guido.Tutorial Python Release 2.4.2.Disponivel em: <www.python.org.br/wiki/DocumentacaoPython?...python24.pdf>A cesso No dia 13 de Julho de 2012 ás 9h:10min.  Capitulo 18 : Pilhas. Disponível em:<http://py.franciscosouza.net/capitulo_18.html>. Acesso No dia 17 de Julho de 2012 ás 15h:10min.  Capitulo 19 : Filas. Disponível em:<http://py.franciscosouza.net/capitulo_19.html>. Acesso No dia 17 de Julho de 2012 ás 15h:00min.  Capitulo 20 : Árvores. Disponível em:<http://py.franciscosouza.net/capitulo_20.html>. Acesso No dia 17 de Julho de 2012 ás 15h:20min. Introdução a Estrutura de Dados em Python 33
  • 33.
    o Borges EduardoLuiz.Python Para Desenvolvedores. Rio de Janeiro, Edição do Autor, 2009. Introdução a Estrutura de Dados em Python 34
  • 34.
    Introdução a Estruturade Dados em Python 35
  • 35.
    Introdução a Estruturade Dados em Python 36
  • 36.
    Obrigado pela Atenção! Introdução a Estrutura de Dados em Python 37