SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02thomasdacosta
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Leinylson Fontinele
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de ProjetoEduardo Mendes
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 

Mais procurados (20)

Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Aula02
Aula02Aula02
Aula02
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Algoritmos de busca
Algoritmos de buscaAlgoritmos de busca
Algoritmos de busca
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Estrutura de dados - Pilhas
Estrutura de dados - PilhasEstrutura de dados - Pilhas
Estrutura de dados - Pilhas
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de Projeto
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 

Semelhante a Introdução a estruturas de dados em python

Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Motalucianacmota
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doublePAULO Moreira
 
Java Desktop
Java DesktopJava Desktop
Java Desktopciceroclc
 
Lista encadeada de inteiros
Lista encadeada de inteirosLista encadeada de inteiros
Lista encadeada de inteirosRobson Eduardo
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webAlvaro Oliveira
 
Algoritmo e Estrutura de dados em C - Aula 01 - 2019
Algoritmo e Estrutura de dados em C - Aula 01 - 2019Algoritmo e Estrutura de dados em C - Aula 01 - 2019
Algoritmo e Estrutura de dados em C - Aula 01 - 2019Eduardo S. Pereira
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
 
Introdução a programação em python d2
Introdução a programação em python d2Introdução a programação em python d2
Introdução a programação em python d2Moises de Paula
 

Semelhante a Introdução a estruturas de dados em python (20)

Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
 
Slide_Python.pdf
Slide_Python.pdfSlide_Python.pdf
Slide_Python.pdf
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Resumão java
Resumão javaResumão java
Resumão java
 
Lista encadeada de inteiros
Lista encadeada de inteirosLista encadeada de inteiros
Lista encadeada de inteiros
 
Pged 04
Pged 04Pged 04
Pged 04
 
Pged 03
Pged 03Pged 03
Pged 03
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
Lpiii dp-apostila
Lpiii dp-apostilaLpiii dp-apostila
Lpiii dp-apostila
 
Algoritmo e Estrutura de dados em C - Aula 01 - 2019
Algoritmo e Estrutura de dados em C - Aula 01 - 2019Algoritmo e Estrutura de dados em C - Aula 01 - 2019
Algoritmo e Estrutura de dados em C - Aula 01 - 2019
 
Aula 13
Aula 13Aula 13
Aula 13
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e Python
 
Classes e Estrutura de Dados
Classes e Estrutura de DadosClasses e Estrutura de Dados
Classes e Estrutura de Dados
 
Introdução a programação em python d2
Introdução a programação em python d2Introdução a programação em python d2
Introdução a programação em python d2
 
Ed1
Ed1Ed1
Ed1
 
Top0
Top0Top0
Top0
 
Top0
Top0Top0
Top0
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 

Mais de Alvaro Oliveira

Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 
Servidores de E-mail: Qmail, Sendmail e Postfix
Servidores de E-mail: Qmail, Sendmail e PostfixServidores de E-mail: Qmail, Sendmail e Postfix
Servidores de E-mail: Qmail, Sendmail e PostfixAlvaro Oliveira
 
Padrao de projeto iterator
Padrao de projeto iteratorPadrao de projeto iterator
Padrao de projeto iteratorAlvaro Oliveira
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceçõesAlvaro Oliveira
 

Mais de Alvaro Oliveira (6)

Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 
Servidores de E-mail: Qmail, Sendmail e Postfix
Servidores de E-mail: Qmail, Sendmail e PostfixServidores de E-mail: Qmail, Sendmail e Postfix
Servidores de E-mail: Qmail, Sendmail e Postfix
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Padrao de projeto iterator
Padrao de projeto iteratorPadrao de projeto iterator
Padrao de projeto iterator
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceções
 

Último

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)Centro Jacques Delors
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdLeonardoDeOliveiraLu2
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfJuliana Barbosa
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Cabiamar
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVlenapinto
 

Último (20)

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 

Introdução a estruturas de dados em python

  • 1. Opção 1 Para adicionar 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 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
  • 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ã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
  • 15. Introdução a Estrutura de 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 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
  • 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 Estrutura de Dados em Python 19
  • 20. Introdução a Estrutura de 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 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
  • 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__: 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
  • 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 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
  • 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
  • 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 Eduardo Luiz.Python Para Desenvolvedores. Rio de Janeiro, Edição do Autor, 2009. Introdução a Estrutura de Dados em Python 34
  • 34. Introdução a Estrutura de Dados em Python 35
  • 35. Introdução a Estrutura de Dados em Python 36
  • 36. Obrigado pela Atenção! Introdução a Estrutura de Dados em Python 37