Estrutura de Dados II Alocação Dinâmica. Alocação de memória Ao ser executado, um programa carrega seu código executável para a memória; Uma parte da.

Slides:



Advertisements
Apresentações semelhantes
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Advertisements

Estruturas de Dados Marcio Gonçalves.
Algoritmo Exemplo: faça um algoritmo para tocar todas as músicas de um cd. Após o usuário apertar o play Algoritmo Para as músicas de 1 até última música.
Alocação Dinâmida de Memória
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
Alocação Dinâmica de Memória
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
Estruturas de Dados e Algoritmos
Expressões, controle de fluxo, wrappers e strings Profa
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Aula 4 Nomes, Vinculações, Tipos e Escopos
Robson Godoi / Sandra Siebra
Listas Encadeadas.
Gerência de Memória.
Prof.° Jean Daniel Henri Merlin Andreazza Estrutura de Dados
Listas Simplesmente Encadeadas
Professor Reverton de Paula Faculdade Anhanguera de Indaiatuba
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Listas Lineares Estrutura de Dados.
Linguagem de Programação C#
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Linguagem de Programação II Parte V
Linguagem de Programação II Parte IX
Conceitos de Linguagem de Programação
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 02b Roberto Ferrari Mauricio Falvo.
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 04b Roberto Ferrari Mauricio Falvo.
Alocação Dinâmica de Memória
Estrutura de Dados Unidade 6 Simulação do exercício 6.1 Elaborada por Mauricio Falvo.
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 03a
Tipos de Dados Paradigmas de Programação
Paradigmas de Linguagens de Programação Linguagem Imperativa 1
Aula 3 Vetores e Listas. Arrays (vetores) Array – sequência de elementos do mesmo tipo. Tamanho do Array – seu número de elementos (número fixo) Consequência:
Compilação de Linguagens OO Marco Simões (macs3) André Santos (alms)
Estruturas de Dados Aula 5: Matrizes
Estruturas de Dados Aula 9: Listas (parte 1)
Capítulo 5 Garbage Collector.
Ambiente de Execução - Rotinas
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
SISTEMAS OPERACIONAIS I
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Listas.
Capítulo VIII Ambientes de Execução
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
1 Alocação Dinâmica Quando se declara arrays o tamanho deve ser fixo e definido primeiramente –Alocação estática Pode-se alocar dinamicamente o espaço.
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Algoritmos e estrutura de dados Prof. Luiz Gonzaga da Silveira Jr
Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores
Lista Linear Base para outras estruturas
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Construtores e Destrutores
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
Aula Prática 12 Listas Encadeadas Monitoria
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Estruturas de Dados Dinâmicas IF672 - Algoritmos e Estruturas de Dados.
 A linguagem Java tem diversas classes para a manipulação dos conjuntos de dados. Esses dados podem ser organizados de duas maneiras diferentes: ◦ Vetores.
Estruturas de Dados Murilo Salgado Razoli.
Estrutura de Dados Aula 3 - Listas
Influencias sobre o Projeto da Linguagem
Linguagem de Programação
INE5408 Estruturas de Dados Listas Encadeadas Simples.
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Ponteiros IF672 - Algoritmos e Estruturas de Dados CIn - UFPE Murilo Raphael.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Alocação Dinâmica Dilvan Moreira. Objetivos  Entender o que são e como usar:  Gerenciamento de Memória  Alocação Dinâmica em C.
Transcrição da apresentação:

Estrutura de Dados II Alocação Dinâmica

Alocação de memória Ao ser executado, um programa carrega seu código executável para a memória; Uma parte da memória é ocupada pelas instruções do programa e a outra para os dados;

Alocação de memória Quem é responsável por determinar a quantidade de memória necessária para as instruções e para os dados do programa? – Instruções: compilador; – Dados: programador.

Alocação de memória Quais são os tipos de alocação de memória? – Estática; – Dinâmica; – Sequencial; – Encadeada. Um vetor simples, utiliza quais tipos de alocação de memória? – Estática e sequencial.

Alocação de memória Questão para discussão: – Quais são os tipos de alocação de memória da lista representada graficamente abaixo? Dinâmica e encadeada Lista 3201C341550BD2F193A7B... 25null anan a2a2 a1a1 a1a1

Ponteiros Um ponteiro é uma variável que possui como conteúdo uma referência para uma variável dinâmica. O que é uma variável dinâmica? – É uma variável que pode ser criada e destruída durante a execução do programa.

Ponteiros Exemplo de alocação de variáveis estáticas e dinâmicas: VariávelEndereçoConteúdo i (inteiro)AB17 k (inteiro)AB22 AB3 AB4 pt1 (ponteiro)AB5AB8 AB6 pt2 (ponteiro)AB7AB8 AB9

Ponteiros Em C, C++, Pascal e outras linguagens, o programador é responsável por liberar explicitamente a memória ocupada por uma variável dinâmica; A linguagem Java possui um recurso que elimina essa necessidade, o Garbage Collector (Lixeiro); Java não suporta o trabalho direto com ponteiros.

Ponteiros Ponteiros em Java: – A instanciação de uma variável de um tipo não primitivo é um ponteiro. – Veja o código abaixo:

Ponteiros Ponteiros em Java: – Celula é uma classe interna, portanto, uma variável instanciada do tipo Celula é um ponteiro para o local na memória onde o objeto está armazenado.

Ponteiros Ponteiros em Java: – Questões para discussão: O código refere-se a que tipos de alocação de memória? Faça uma representação gráfica da classe após executado o seu construtor: sequencial e encadeada primeiro ultimo pos

Bibliografia – PUGA, Sandra; RISSETTI, Gerson. Lógica de programação e estrutura de dados: com aplicações em Java. Capítulo 8 – Busca e ordenação.