Baixe o app para aproveitar ainda mais
Prévia do material em texto
ESTRUTURA DE DADOS Aula 1- Apresentando as Estruturas de Dados APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Atenção aos Temas Principais dessa Aula APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Conteúdo Programático desta aula ▪ O conceito de Estruturas de Dados; ▪ O conceito de TAD; ▪ Apresentar o conceito de funções; ▪ Apresentar o conceito de struct; ▪ Apresentar os conceitos de ordenação e pesquisa; ▪ Apresentar o conceito de Lista, Pilha e Fila Estática; ▪ Apresentar o conceito de Ponteiro; ▪ Apresentar o conceito de Alocação Dinâmica; ▪ Revisão de Matrizes APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Direto ao Assunto APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS “Estruturas de Dados são construções de uma linguagem de programação que agregam um ou mais elementos de dados para formar um tipo de dado que armazena uma quantidade maior de informações”.(OLIVEIRA, R., TAVEIRA, G., BOTTINI, J., 2003, p.11) Conceito de Estrutura de Dados APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS “O campo da Estruturas de Dados é concebido para construir ferramentas para serem incorporadas e usadas pelos programas de aplicação e para encontrar Estruturas de Dados que possam realizar certas operações rapidamente sem impor muita carga à memória do computador”.(DROZDEK, A, 2002, P.31) “Estruturas de Dados são construções de uma linguagem de programação que agregam um ou mais elementos de dados para formar um tipo de dado que armazena uma quantidade maior de informações”.(OLIVEIRA, R., TAVEIRA, G., BOTTINI, J., 2003, p.11) Conceito de Estrutura de Dados APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Armazenamento da Informação APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Armazenamento da Informação Construção de Algoritmos APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Armazenamento da Informação Construção de Algoritmos Características das ED APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Armazenamento da Informação Construção de Algoritmos Características das ED C O N H E C I M E N T O S S Ó L I D O S O (PREISS, B. R., 2000, p.1) APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS “Um tipo de dado abstrato pode ser definido como um conjunto de valores e uma coleção de operações que atuam sobre esses valores. As operações devem ser consistentes com os tipos de valores”. (MORAES, C.R., 2001, p.5) Tipo de Dados Abstratos(TDA) APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS FAZER APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS FAZER Exemplos 1 – Gravar um vetor em um arquivo binário 2 – Usar o TDA int APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS FAZER APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS FAZER Exemplo Como se processa o comando de atribuição? APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS É muito extenso, mas apaixonante. Procurei desmistificar, abusando de figuras, cores e exemplos clássicos bem escolhidos. Sei que é um grande desafio, mas nós, professores, estaremos com vocês o tempo todo para que, ao final do curso, possamos dizer: conseguimos. Conteúdo da Disciplina APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS void asterisco() { int x; for(x=1: x<=50; x++) cout<<“*”; } 2a AULA - FUNÇÕES APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 3a AULA - STRUCT APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 3a AULA - STRUCT struct cadastro { char nome[30], e-mail[20], plano[20], end [40], tel1[15], tel2[15]; int idade; }; APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 4a AULA - ORDENAÇÃO / PESQUISA APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 5a AULA - LISTAS LINEARES APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 6a AULA – PILHA(LIFO) APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 7a AULA – FILA(FIFO) APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 8a AULA – ALOCAÇÃO DINÂMICA LISTA ENCADEADA APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 8a AULA – ALOCAÇÃO DINÂMICA LISTA ENCADEADA APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 9a AULA – LISTAS LINEARES PILHA DINÂMICA FILA DINÂMICA APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 10a AULA – LISTAS DUPLAMENTE ENCADEADAS APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS ➢ Não acumule aulas porque elas estão muito extensas . ➢ Lembre-se de que Algoritmos e Estruturas de Dados formam uma parceria perfeita, contribuindo para seu aperfeiçoamento como desenvolvedor. ➢Reveja todos os conceitos da aula. ➢Aprimore seus conhecimentos pesquisando no material didático e na bibliografia recomendada (procure na Biblioteca Virtual/ SIA ou na Biblioteca do campus). METODOLOGIA DE ESTUDO APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS ➢Assista aos filmes, se estiverem disponíveis na aula, ou então, pesquise na Internet. ➢Esteja sempre em contato com seu professor on-line. ➢Assista a esta aula quantas vezes for necessário. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS SERÁ? Que tal pesquisar o que significa APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS SERÁ? Que tal pesquisar o que significa E, o mais importante: nós, professores de Estrutura de Dados, vamos fazer de tudo para que isso se torne real porque já abstraímos muito nesta primeira aula. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 33 DROZDEK, A. Estruturas de Dados e Algoritmos em C++. São Paulo: Pioneira Thomson, 2002. MORAES, C. R. Estruturas de Dados e Algoritmos. São Paulo: Berkley Brasil, 2001. PREISS, B. R. Estruturas de Dados e Algoritmos. Rio de Janeiro: Campus, 2000. SENAC.DN. Estruturas de Dados. OLIVEIRA, R.S., TAVEIRA, G. A.,BOTINI, J. Ed. Senac Nacional, 1999. Referências Bibliográficas APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 34 REVISÃO - MATRIZES APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS MATRIZES 2 3 1 13 A4x1 2 3 1 13A1x4 a11 a12 a13 ... a1n a21 a22 a23 ... a3n a31 a32 a33 ... a3n ... ... ... ... ... am1 am1 am2 ... amn Amxn APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS unidimensional bidimensional MATRIZES 2 3 1 13 A4x1 2 3 1 13A1x4 a11 a12 a13 ... a1n a21 a22 a23 ... a3n a31 a32 a33 ... a3n ... ... ... ... ... am1 am1 am2 ... amn Amxn APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Operação – Multiplicar por um escalar 4 6 2 26 D4x1 2 3 1 13 A4x1 X 2 = APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Operação – Somar duas matrizes 2 3 1 13 A 6 9 3 39 S+ = 4 6 2 26 B APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Operação: calcular média aritmética 4 5 6 10 A 6 6 7.5 7 M+ / 2 = 8 7 94 B APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Operação: somar os elementos da matriz 4 5 6 10 A Soma = 25 APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Dimensionando Matrizes APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Dimensionando Matrizes APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Dimensionando Matrizes int float double char long long int ... APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 2) Duas notas e a média de 50 alunos. 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 2) Duas notas e a média de 50 alunos. 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 2) Duas notas e a média de 50 alunos. 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 3) Matrícula e CR de 60 alunos. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 3) Matrícula e CR de 60 alunos. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 4) Sexo de 30 pessoas. 3) Matrícula e CR de 60 alunos. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 4) Sexo de 30 pessoas. 3) Matrícula e CR de 60 alunos. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 5) Nome de uma pessoa. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 5) Nome de uma pessoa. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 5) Nome de uma pessoa. 6) Nomes de 10 pessoas. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 5) Nome de uma pessoa. 6) Nomes de 10 pessoas. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Vetor de tamanho 5 e do tipo inteiro de quatro bytes Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Vetor idades Vetor de tamanho 5 e do tipo inteiro de quatro bytes Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Vetor idades Vetor de tamanho 5 e do tipo inteiro de quatro bytes Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Por que a primeira variável tem deslocamento 0? Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS endereço-base + deslocamento * tamanho do tipo O nome de uma matriz corresponde ao primeiro endereço do conjunto de endereços da Memória Principal. Para localizarmos um elemento da matriz, usamos a fórmula abaixo. Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 10000 endereço-base + deslocamento * tamanho do tipo endereço-base Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 10000 endereço-base + deslocamento * tamanho do tipo Armazenamento na Memória Principal endereço-base + 2 * 4 = 1008 APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 10000 endereço-base + deslocamento * tamanho do tipo Armazenamento na Memória Principal endereço-base + 2 * 4 = 1008 10008 APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 10000 endereço-base + deslocamento * tamanho do tipo Armazenamento na Memória Principal endereço-base 10012 1001610004 10008 APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Armazenamento na Memória Principal Conclui-se que 0 significa que não existe deslocamento em relação ao endereço-base. APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS E onde indicamos isso? Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Observe o vetor idades[5]. Ele é formado por cinco variáveis todas com nome, idades. Dentro de um par de colchetes, fica o deslocamento. Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Vetor de char Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Vetor de char Armazenamento na Memória Principal nome[1] = toupper(nome[1]); REnato APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS O \0 serve para finalizar o vetor de char. Dessa forma, não se esqueça de acrescentar mais uma posição quando dimensionar um vetor de char. Vetor de char Armazenamento na Memória Principal APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Numérico ou vetor de char – unidimensional DECLARAÇÃO / ATRIBUIÇÃO APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Numérico ou vetor de char – unidimensional DECLARAÇÃO / ATRIBUIÇÃO APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Numérico ou vetor de char – unidimensional DECLARAÇÃO / ATRIBUIÇÃO APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Numérico ou vetor de char – Bidimensional DECLARAÇÃO / ATRIBUIÇÃO APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Numérico ou vetor de char – Bidimensional DECLARAÇÃO / ATRIBUIÇÃO APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS ATRIBUIÇÃO Numérico – Bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Numérico ou char de um caracter – unidimensional TRECHO de ENTRADA APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Numérico ou char de um caracter – unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Vetor de char – unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Vetor de char – unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Numérico – bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Numérico – bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA char – bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA char – bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de SAÍDA Numérico ou char (Matriz Coluna) – unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de SAÍDA Numérico ou char (Matriz Linha) – unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de SAÍDA Vetor de char – unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de SAÍDA Numérico – bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS TRECHO de SAÍDA char – bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Vamos ao Bate Pronto APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS 1) APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1 ESTRUTURA DE DADOS Resumindo
Compartilhar