SlideShare uma empresa Scribd logo

Introdução a estruturas de dados em python

Alvaro Oliveira
Alvaro Oliveira
Alvaro OliveiraCoordenador educacional | UNIASSELVI em Dell

Introdução a estruturas de dados em python

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

Recomendados

Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
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
 
Estrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasEstrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasLeinylson Fontinele
 
Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Ramon Kayo
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 

Mais conteúdo relacionado

Mais procurados

Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 
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
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisDaniel Brandão
 
[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-ElseLoiane Groner
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha casoEder Samaniego
 
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
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação João Piedade
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalFelipe J. R. Vieira
 
Estimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoEstimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoClaudio Martins
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 

Mais procurados (20)

Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
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)
 
JAVA - Matrizes
JAVA - MatrizesJAVA - Matrizes
JAVA - Matrizes
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else
 
Pilha e filas
Pilha e filasPilha e filas
Pilha e filas
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
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
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
 
Estimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoEstimativa de software usando pontos de função
Estimativa de software usando pontos de função
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 

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

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
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
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
 

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

O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!Psyc company
 
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docxPROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docxssuser86fd77
 
Transforme seu Corpo em Casa_ Dicas e Estratégias de Rotinas de Exercícios Si...
Transforme seu Corpo em Casa_ Dicas e Estratégias de Rotinas de Exercícios Si...Transforme seu Corpo em Casa_ Dicas e Estratégias de Rotinas de Exercícios Si...
Transforme seu Corpo em Casa_ Dicas e Estratégias de Rotinas de Exercícios Si...manoelaarmani
 
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...manoelaarmani
 
Apresentação Aula Usabilidade Web Jogos e Apps
Apresentação Aula Usabilidade Web Jogos e AppsApresentação Aula Usabilidade Web Jogos e Apps
Apresentação Aula Usabilidade Web Jogos e AppsAlexandre Oliveira
 
Relatório Ação Saberes Indígenas na Escola - Grupo de Pesquisa Unã Baina
Relatório Ação Saberes Indígenas na Escola - Grupo de Pesquisa Unã BainaRelatório Ação Saberes Indígenas na Escola - Grupo de Pesquisa Unã Baina
Relatório Ação Saberes Indígenas na Escola - Grupo de Pesquisa Unã Bainaifacasie
 
Q20 - Reações fotoquímicas.pdf
Q20 - Reações fotoquímicas.pdfQ20 - Reações fotoquímicas.pdf
Q20 - Reações fotoquímicas.pdfPedroGual4
 
Emagreça em Casa, Treinos Simples e Eficazes Mesmo Não Tendo Equipamentos. Cu...
Emagreça em Casa, Treinos Simples e Eficazes Mesmo Não Tendo Equipamentos. Cu...Emagreça em Casa, Treinos Simples e Eficazes Mesmo Não Tendo Equipamentos. Cu...
Emagreça em Casa, Treinos Simples e Eficazes Mesmo Não Tendo Equipamentos. Cu...manoelaarmani
 
Agora, imagine a seguinte situação você é o coordenador da área de inovação e...
Agora, imagine a seguinte situação você é o coordenador da área de inovação e...Agora, imagine a seguinte situação você é o coordenador da área de inovação e...
Agora, imagine a seguinte situação você é o coordenador da área de inovação e...Unicesumar
 
TEMPLATE relatório de praticas por aluno.pptx
TEMPLATE relatório de praticas por aluno.pptxTEMPLATE relatório de praticas por aluno.pptx
TEMPLATE relatório de praticas por aluno.pptxAssisTeixeira2
 
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...manoelaarmani
 
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdfkelvindasilvadiasw
 
CURRICULO ed integral.pdf
CURRICULO ed integral.pdfCURRICULO ed integral.pdf
CURRICULO ed integral.pdfdaniele690933
 
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGOLUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGOxogilo3990
 
As relações entre empregador e empregado passaram por diversas transformações...
As relações entre empregador e empregado passaram por diversas transformações...As relações entre empregador e empregado passaram por diversas transformações...
As relações entre empregador e empregado passaram por diversas transformações...excellenceeducaciona
 
Trovadorismo, Humanismo, Classicismo e Quinhentismo
Trovadorismo, Humanismo, Classicismo e QuinhentismoTrovadorismo, Humanismo, Classicismo e Quinhentismo
Trovadorismo, Humanismo, Classicismo e QuinhentismoPaula Meyer Piagentini
 
Introdução à teoria do cinema - Robert Stam.pdf
Introdução à teoria do cinema - Robert Stam.pdfIntrodução à teoria do cinema - Robert Stam.pdf
Introdução à teoria do cinema - Robert Stam.pdfssuser2af87a
 
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...azulassessoriaacadem3
 
Apresentacao_Geral_Plataformas_200604.pdf
Apresentacao_Geral_Plataformas_200604.pdfApresentacao_Geral_Plataformas_200604.pdf
Apresentacao_Geral_Plataformas_200604.pdfAndreiaSilva852193
 
MAPA - TEORIAS DA ADMINISTRAÇÃO - 51/2024
MAPA - TEORIAS DA ADMINISTRAÇÃO - 51/2024MAPA - TEORIAS DA ADMINISTRAÇÃO - 51/2024
MAPA - TEORIAS DA ADMINISTRAÇÃO - 51/2024excellenceeducaciona
 

Último (20)

O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
 
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docxPROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
 
Transforme seu Corpo em Casa_ Dicas e Estratégias de Rotinas de Exercícios Si...
Transforme seu Corpo em Casa_ Dicas e Estratégias de Rotinas de Exercícios Si...Transforme seu Corpo em Casa_ Dicas e Estratégias de Rotinas de Exercícios Si...
Transforme seu Corpo em Casa_ Dicas e Estratégias de Rotinas de Exercícios Si...
 
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
Minimalismo Fitness Simplifique sua Rotina de Exercícios e Maximize Resultado...
 
Apresentação Aula Usabilidade Web Jogos e Apps
Apresentação Aula Usabilidade Web Jogos e AppsApresentação Aula Usabilidade Web Jogos e Apps
Apresentação Aula Usabilidade Web Jogos e Apps
 
Relatório Ação Saberes Indígenas na Escola - Grupo de Pesquisa Unã Baina
Relatório Ação Saberes Indígenas na Escola - Grupo de Pesquisa Unã BainaRelatório Ação Saberes Indígenas na Escola - Grupo de Pesquisa Unã Baina
Relatório Ação Saberes Indígenas na Escola - Grupo de Pesquisa Unã Baina
 
Q20 - Reações fotoquímicas.pdf
Q20 - Reações fotoquímicas.pdfQ20 - Reações fotoquímicas.pdf
Q20 - Reações fotoquímicas.pdf
 
Emagreça em Casa, Treinos Simples e Eficazes Mesmo Não Tendo Equipamentos. Cu...
Emagreça em Casa, Treinos Simples e Eficazes Mesmo Não Tendo Equipamentos. Cu...Emagreça em Casa, Treinos Simples e Eficazes Mesmo Não Tendo Equipamentos. Cu...
Emagreça em Casa, Treinos Simples e Eficazes Mesmo Não Tendo Equipamentos. Cu...
 
Agora, imagine a seguinte situação você é o coordenador da área de inovação e...
Agora, imagine a seguinte situação você é o coordenador da área de inovação e...Agora, imagine a seguinte situação você é o coordenador da área de inovação e...
Agora, imagine a seguinte situação você é o coordenador da área de inovação e...
 
TEMPLATE relatório de praticas por aluno.pptx
TEMPLATE relatório de praticas por aluno.pptxTEMPLATE relatório de praticas por aluno.pptx
TEMPLATE relatório de praticas por aluno.pptx
 
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
 
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
 
CURRICULO ed integral.pdf
CURRICULO ed integral.pdfCURRICULO ed integral.pdf
CURRICULO ed integral.pdf
 
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGOLUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
 
As relações entre empregador e empregado passaram por diversas transformações...
As relações entre empregador e empregado passaram por diversas transformações...As relações entre empregador e empregado passaram por diversas transformações...
As relações entre empregador e empregado passaram por diversas transformações...
 
Trovadorismo, Humanismo, Classicismo e Quinhentismo
Trovadorismo, Humanismo, Classicismo e QuinhentismoTrovadorismo, Humanismo, Classicismo e Quinhentismo
Trovadorismo, Humanismo, Classicismo e Quinhentismo
 
Introdução à teoria do cinema - Robert Stam.pdf
Introdução à teoria do cinema - Robert Stam.pdfIntrodução à teoria do cinema - Robert Stam.pdf
Introdução à teoria do cinema - Robert Stam.pdf
 
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
 
Apresentacao_Geral_Plataformas_200604.pdf
Apresentacao_Geral_Plataformas_200604.pdfApresentacao_Geral_Plataformas_200604.pdf
Apresentacao_Geral_Plataformas_200604.pdf
 
MAPA - TEORIAS DA ADMINISTRAÇÃO - 51/2024
MAPA - TEORIAS DA ADMINISTRAÇÃO - 51/2024MAPA - TEORIAS DA ADMINISTRAÇÃO - 51/2024
MAPA - TEORIAS DA ADMINISTRAÇÃO - 51/2024
 

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