Your SlideShare is downloading. ×
Universidade Presbiteriana Mackenzie                             Conceitos Básicos                                 Estrutu...
Tópicos da Aula•   Tipos abstratos de dados•   Contiguidade física•   Armazenamento sequencial de dados•   Variáveis compo...
Estruturas de Dados• As estruturas de dados têm o objetivo de  armazenar, manipular, organizar e gerenciar  dados na memór...
Estruturas de Dados• Nesse semestre, vamos trabalhar apenas com  as estruturas de dados lineares:  – Listas  – Pilhas  – F...
Contiguidade Física• As estruturas de dados contíguas armazenam  os dados computacionais em células adjacen-  tes na memór...
Armazenamento Sequencial         Conceitos Básicos   6
Tipos Abstratos de Dados• Um Tipo Abstrato de Dado (TAD) é um modelo  de estruturas de dados que especifica:  – O tipo dos...
Tipos Abstratos de Dados• Dentre as principais características de um TAD,  podemos citar que:  – um TAD define o que cada ...
Tipos Abstratos de Dados• Durante a construção das classes utilizadas  nessa disciplina, vamos ter um cuidado  especial ao...
Tipos de dados da Linguagem Java• Java possui duas categorias de tipos de dados:  – Tipo Primitivo  – Tipo de Instância ou...
Tipos de dados da Linguagem Java• Tipos primitivos suportados pela linguagem: Tipo                              Bits boole...
Tipos de dados da Linguagem Java• Intervalo de valores suportados pelo Java: Tipo                        Intervalo byte   ...
Variáveis Compostas Homogêneas• Como declarar variáveis compostas  homogêneas de tipo primitivo e instância• Como instanci...
Variáveis Compostas Homogêneas• Variáveis compostas homogêneas são  estruturas de dados que podem armazenar  vários valore...
Uso de vetores na Linguagem Java• Em Java os vetores são objetos  – Isso significa que eles não se comportam como as    va...
Uso de vetores na Linguagem Java• Os vetores (arrays unidimensionais)  funcionam como arranjos de valores de um  mesmo tip...
Uso de vetores na Linguagem Java• Vamos aprender como realizar as quatro  operações básicas com vetores:  – Declarar  – In...
Uso de vetores na Linguagem Java• Declarar um vetor:  – Podemos declarar um vetor de duas formas    distintas, porém o res...
Uso de vetores na Linguagem Java• Na Linguagem Java os vetores são objetos  – Não basta declarar um vetor para que ele pas...
Uso de vetores na Linguagem Java• Instanciar um vetor:  – Instanciar é o processo pelo qual você aloca um    endereço de m...
Uso de vetores na Linguagem Java• Declarar e instanciar um vetor:  – A declaração e a instanciação de um vetor    também p...
Uso de vetores na Linguagem Java• Iniciar um vetor:  – A iniciação de um vetor pode ser feita posição a    posição após su...
Uso de vetores na Linguagem Java• Consultar um vetor:  – Abaixo temos a forma de como devemos consultar    ou recuperar va...
Uso de vetores na Linguagem Java• Declarar, instanciar e iniciar um vetor:  – Java possibilita ainda declarar, instanciar ...
Uso de vetores na Linguagem Java• Declarar, instanciar e iniciar um vetor:  – Exemplo:        int[] v = {32, 27, -15, 8}; ...
Uso de vetores na Linguagem Java• Detectar o tamanho de um vetor  – Para detectar o tamanho de um vetor a    Linguagem Jav...
Uso de matrizes na Linguagem Java• Matrizes  – As matrizes são arrays multidimensionais     • Isso significa que elas pode...
Uso de matrizes na Linguagem Java• Matrizes  – Exemplo:   Colunas/Linhas   [0]               [1]     [2]   [0]   [1]   [2]...
Uso de matrizes na Linguagem Java• Matrizes  – Assim como os vetores, as matrizes também    precisam ser:     •   Declarad...
Uso de matrizes na Linguagem Java• Matrizes  – Declarar uma matriz bidimensional:     • <tipo>[][] <nomeDaMatriz>;     • <...
Uso de matrizes na Linguagem Java• Matrizes  – Instanciar uma matriz bidimensional:     • Após a declaração da matriz é ne...
Uso de matrizes na Linguagem Java• Matrizes  – Declarar e instanciar uma matriz bidimensional:  – Sintaxe:     • <tipo>[][...
Uso de matrizes na Linguagem Java• Matrizes  – Iniciar uma matriz bidimensional:     •   matriz[0][0] = 30;     •   matriz...
Uso de matrizes na Linguagem Java• Matrizes  – Consultar uma matriz bidimensional:     • int a = matriz[0][2];     • int s...
Uso de matrizes na Linguagem Java• Matrizes  – Declarar, instanciar e iniciar uma matriz    bidimensional:     • Java poss...
Uso de matrizes na Linguagem Java• Detectar o tamanho da matriz  – Para detectar o tamanho de uma matriz n-    dimensional...
37
38
Imagenshttp://4.bp.blogspot.com/_BGKfGPFOzZI/TPJXGSN6ODI/AAAAAAAAAQQ/K2ccsuV5Jek/s1600/2.jpg                              ...
Obrigado  Prof. MSc. Fabricio da Silva Soaresfabricio[dot]soares[at]mackenzie[dot]br                                      ...
Upcoming SlideShare
Loading in...5
×

(ED1) Tópico 01 - Conceitos Básicos

1,441

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,441
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "(ED1) Tópico 01 - Conceitos Básicos"

  1. 1. Universidade Presbiteriana Mackenzie Conceitos Básicos Estrutura de Dados I Prof. MSc. Fabricio da Silva Soares Faculdade de Computação e Informática São Paulo, 4 de agosto de 2011
  2. 2. Tópicos da Aula• Tipos abstratos de dados• Contiguidade física• Armazenamento sequencial de dados• Variáveis compostas homogêneas• Manipulação de vetores• Manipulação de matrizes Conceitos Básicos 2
  3. 3. Estruturas de Dados• As estruturas de dados têm o objetivo de armazenar, manipular, organizar e gerenciar dados na memória principal do computador• O objetivo principal dessa disciplina é analisar as melhores alternativas para manipular eficientemente os dados de uma aplicação computacional Conceitos Básicos 3
  4. 4. Estruturas de Dados• Nesse semestre, vamos trabalhar apenas com as estruturas de dados lineares: – Listas – Pilhas – Filas• Essas estruturas são representadas através de: – Estruturas contíguas (contiguidade física) – Estruturas encadeadas (contiguidade lógica) Conceitos Básicos 4
  5. 5. Contiguidade Física• As estruturas de dados contíguas armazenam os dados computacionais em células adjacen- tes na memória principal do computador• Suas principais características: – Acesso direto ao dado através de um índice – Existe a necessidade de deslocar dados durante os processos de inserção e remoção de dados – Na maioria das vezes, a estrutura contígua contém um número fixo de células Conceitos Básicos 5
  6. 6. Armazenamento Sequencial Conceitos Básicos 6
  7. 7. Tipos Abstratos de Dados• Um Tipo Abstrato de Dado (TAD) é um modelo de estruturas de dados que especifica: – O tipo dos dados armazenados – As operações definidas sobre esses dados – Os tipos dos parâmetros dessas operações Conceitos Básicos 7
  8. 8. Tipos Abstratos de Dados• Dentre as principais características de um TAD, podemos citar que: – um TAD define o que cada operação faz, mas não como o faz – no Java, um TAD é modelado por uma classe – a modelagem de um TAD define os dados que serão armazenados e as operações suportadas pela estrutura Conceitos Básicos 8
  9. 9. Tipos Abstratos de Dados• Durante a construção das classes utilizadas nessa disciplina, vamos ter um cuidado especial ao escolher o tipo de dado utilizado por cada atributo• O objetivo inicial é criar várias TAD (Tipos Abstrato de Dado) para especificar o conjunto de dados e de operações que podem ser executados sobre a estrutura manipulada Conceitos Básicos 9
  10. 10. Tipos de dados da Linguagem Java• Java possui duas categorias de tipos de dados: – Tipo Primitivo – Tipo de Instância ou Referência• Tipo Primitivo – São tipos de dados predefinidos pela linguagem e correspondem a dados mais simples ou escalares• Tipo de Instância ou Referência – Uma instância é um objeto do tipo definido pela classe Conceitos Básicos 10
  11. 11. Tipos de dados da Linguagem Java• Tipos primitivos suportados pela linguagem: Tipo Bits boolean 1 true ou false char 16 byte 8 short 16 Números int 32 Inteiros long 64 float 32 Números em double 64 ponto Flutuante Conceitos Básicos 11
  12. 12. Tipos de dados da Linguagem Java• Intervalo de valores suportados pelo Java: Tipo Intervalo byte -128 ~ 127 short -32.768 ~ 32.767 Números int -2.147.483.648 ~ 2.147483.647 Inteiros long -922.337.203.685.475.808 ~ 922.337.203.685.475.807 float -1.4e-45 ~ 3.4e38 Números em double -4.9e-324 ~ 1.7e308 ponto Flutuante Conceitos Básicos 12
  13. 13. Variáveis Compostas Homogêneas• Como declarar variáveis compostas homogêneas de tipo primitivo e instância• Como instanciar uma variável composta homogênea• Inicialização na declaração de uma variável composta homogênea• O atributo length em vetores Conceitos Básicos 13
  14. 14. Variáveis Compostas Homogêneas• Variáveis compostas homogêneas são estruturas de dados que podem armazenar vários valores de um mesmo tipo de dado simultaneamente – Enquanto uma variável consegue armazenar um único valor por vez, utilizamos vetores para armazenar um conjunto de valores ao mesmo tempo Conceitos Básicos 14
  15. 15. Uso de vetores na Linguagem Java• Em Java os vetores são objetos – Isso significa que eles não se comportam como as variáveis e sim como instâncias de classes – Por isso, eles precisam ser declarados, instanciados (criados) e iniciados Conceitos Básicos 15
  16. 16. Uso de vetores na Linguagem Java• Os vetores (arrays unidimensionais) funcionam como arranjos de valores de um mesmo tipo de dado – Você pode imaginar um vetor como uma linha de uma tabela, composta por diversas células – Em cada célula é possível armazenar um valor – Na Linguagem Java, o primeiro índice do vetor é 0 (zero) e o último é n-1 [0] [1] [2] … [n-1] 30 17 13 … 45 Conceitos Básicos 16
  17. 17. Uso de vetores na Linguagem Java• Vamos aprender como realizar as quatro operações básicas com vetores: – Declarar – Instanciar – Iniciar – Consultar Conceitos Básicos 17
  18. 18. Uso de vetores na Linguagem Java• Declarar um vetor: – Podemos declarar um vetor de duas formas distintas, porém o resultado é o mesmo em ambos os casos. • <tipo>[] <nomeDoVetor>; • <tipo> <nomeDoVetor>[]; – Exemplos: int[] vetor; int vetor[]; Conceitos Básicos 18
  19. 19. Uso de vetores na Linguagem Java• Na Linguagem Java os vetores são objetos – Não basta declarar um vetor para que ele passe a existir – O nome do vetor é uma referência a posição ini- cial na memória onde os valores são armazenados• A simples declaração não cria o vetor, mas apenas uma referência – Inicialmente a referência é null, ou seja, não aponta para nenhum lugar Conceitos Básicos 19
  20. 20. Uso de vetores na Linguagem Java• Instanciar um vetor: – Instanciar é o processo pelo qual você aloca um endereço de memória para um objeto – A instanciação é a criação do vetor • Instanciar um vetor significa lhe atribuir um endereço de memória onde ele possa armazenar seus valores – Sintaxe: • <nomeDoVetor> = new <tipo>[<posições>]; – Exemplo: vetor = new int[5]; Conceitos Básicos 20
  21. 21. Uso de vetores na Linguagem Java• Declarar e instanciar um vetor: – A declaração e a instanciação de um vetor também podem ser feitas em uma única instrução – Sintaxe: • <tipo>[] <nomeDoVetor> = new <tipo>[<posição>]; • <tipo> <nomeDoVetor>[] = new <tipo>[<posição>]; – Exemplo: int[] vetor = new int[5]; int vetor[] = new int[5]; Conceitos Básicos 21
  22. 22. Uso de vetores na Linguagem Java• Iniciar um vetor: – A iniciação de um vetor pode ser feita posição a posição após sua declaração e instanciação. – Exemplo: vetor[0] = 10; vetor[1] = 50; vetor[2] = 35; vetor[3] = 45; vetor[4] = 60; Conceitos Básicos 22
  23. 23. Uso de vetores na Linguagem Java• Consultar um vetor: – Abaixo temos a forma de como devemos consultar ou recuperar valores armazenados em um vetor int soma = vetor[0] + vetor[1] + vetor[2]; int nota = vetor[4]; System.out.println("Posição 3 = " + vetor[3]); Conceitos Básicos 23
  24. 24. Uso de vetores na Linguagem Java• Declarar, instanciar e iniciar um vetor: – Java possibilita ainda declarar, instanciar e iniciar um vetor em uma única instrução – Sintaxe: • <tipo>[] <nomeDoVetor>={<valor0>,...,<valorN>}; • <tipo> <nomeDoVetor>[]={<valor1>,...,<valorN>}; – Exemplo: • int[] vetor = {10, 50, 35, 45, 60}; • int vetor[] = {10, 50, 35, 45, 60}; Conceitos Básicos 24
  25. 25. Uso de vetores na Linguagem Java• Declarar, instanciar e iniciar um vetor: – Exemplo: int[] v = {32, 27, -15, 8}; Conceitos Básicos 25
  26. 26. Uso de vetores na Linguagem Java• Detectar o tamanho de um vetor – Para detectar o tamanho de um vetor a Linguagem Java disponibiliza a propriedade length – Sintaxe: • int tamanho = notas.length; Conceitos Básicos 26
  27. 27. Uso de matrizes na Linguagem Java• Matrizes – As matrizes são arrays multidimensionais • Isso significa que elas podem ter duas ou mais dimensões – O uso mais comum de matrizes é para construção de estruturas de dados bidimensionais • Nesse caso, elas são usadas para armazenar valores em forma de linhas e colunas, tal como ocorre em uma tabela Conceitos Básicos 27
  28. 28. Uso de matrizes na Linguagem Java• Matrizes – Exemplo: Colunas/Linhas [0] [1] [2] [0] [1] [2] Conceitos Básicos 28
  29. 29. Uso de matrizes na Linguagem Java• Matrizes – Assim como os vetores, as matrizes também precisam ser: • Declaradas • Instanciadas • Iniciadas • Consultadas – A sintaxe para realizar estas operações com matrizes é similar a sintaxe utilizada nos vetores Conceitos Básicos 29
  30. 30. Uso de matrizes na Linguagem Java• Matrizes – Declarar uma matriz bidimensional: • <tipo>[][] <nomeDaMatriz>; • <tipo> <nomeDaMatriz>[][]; • <tipo>[] <nomeDaMatriz>[]; – Exemplo: • int[][] matriz; • int matriz[][]; • int[] matriz[]; Conceitos Básicos 30
  31. 31. Uso de matrizes na Linguagem Java• Matrizes – Instanciar uma matriz bidimensional: • Após a declaração da matriz é necessário instanciá-la, da mesma forma como é feito com vetores: – Sintaxe: • <nomeDaMatriz> = new <tipo>[<linhas>][<colunas>]; – Exemplo: • matriz = new int[3][3]; Conceitos Básicos 31
  32. 32. Uso de matrizes na Linguagem Java• Matrizes – Declarar e instanciar uma matriz bidimensional: – Sintaxe: • <tipo>[][] <nomeDaMatriz> = new <tipo>[<linha>][<coluna>]; • <tipo> <nomeDaMatriz>[][] = new <tipo>[<linha>][<coluna>]; • <tipo>[] <nomeDaMatriz>[] = new <tipo>[<linha>][<coluna>]; – Exemplo: • int[][] matriz = new int[3][3]; • int matriz[][] = new int[3][3]; • int[] matriz[] = new int[3][3]; Conceitos Básicos 32
  33. 33. Uso de matrizes na Linguagem Java• Matrizes – Iniciar uma matriz bidimensional: • matriz[0][0] = 30; • matriz[0][1] = 54; • matriz[0][2] = 62; • matriz[1][0] = 12; • matriz[1][1] = 25; • matriz[1][2] = 39; • matriz[2][0] = 50; • matriz[2][1] = 37; • matriz[2][2] = 91; Conceitos Básicos 33
  34. 34. Uso de matrizes na Linguagem Java• Matrizes – Consultar uma matriz bidimensional: • int a = matriz[0][2]; • int soma = matriz[0][0] + matriz[2][2]; • System.out.println("matriz[1][1] = " + matriz[1][1]); Conceitos Básicos 34
  35. 35. Uso de matrizes na Linguagem Java• Matrizes – Declarar, instanciar e iniciar uma matriz bidimensional: • Java possibilita ainda realizar a declaração, instanciação e iniciação de matrizes em uma única instrução – Por exemplo: • int[][] matriz = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}}; • int matriz[][] = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}}; • int[] matriz[] = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}}; Conceitos Básicos 35
  36. 36. Uso de matrizes na Linguagem Java• Detectar o tamanho da matriz – Para detectar o tamanho de uma matriz n- dimensional, o java utiliza a propriedade length – Sintaxe: • int linhas = matriz.length; • int colunas = matriz[0].length; Conceitos Básicos 36
  37. 37. 37
  38. 38. 38
  39. 39. Imagenshttp://4.bp.blogspot.com/_BGKfGPFOzZI/TPJXGSN6ODI/AAAAAAAAAQQ/K2ccsuV5Jek/s1600/2.jpg 39
  40. 40. Obrigado Prof. MSc. Fabricio da Silva Soaresfabricio[dot]soares[at]mackenzie[dot]br 40

×