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

Manual-de-php
Manual-de-phpManual-de-php
Manual-de-phpdiogoa21
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosTiago Antônio da Silva
 
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Leinylson Fontinele
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizesArmando Daniel
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 

Mais procurados (20)

Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Estrutura de dados - Pilhas
Estrutura de dados - PilhasEstrutura de dados - Pilhas
Estrutura de dados - Pilhas
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicos
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizes
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 

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

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
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfKarinaSouzaCorreiaAl
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedJaquelineBertagliaCe
 
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
 
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPabloGabrielKdabra
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
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
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfgerathird
 
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
 
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
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeitotatianehilda
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptRogrioGonalves41
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 

Último (20)

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
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
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*
 
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
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 ...
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
 
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
 
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
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 

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