Programação II Estruturas de Dados

Slides:



Advertisements
Apresentações semelhantes
Estrutura de Dados Pilha by Aquiles Burlamaqui. Definição Uma pilha é uma das várias estruturas de dados que admitem remoção de elementos e inserção de.
Advertisements

LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Listas Lineares Estrutura que permite representar um conjunto de dados de forma a preservar a relação de ordem linear. Uma lista linear é composta de nós,
Estruturas de Dados Árvores Binárias
Recursividade Prof. Rosana Palazon.
Listas encadeadas Prof. Rosana Palazon.
Algoritmos de manipulação de estruturas elementares de dados
Listas duplamente encadeadas
Programação II Estruturas de Dados
Programação II Estruturas de Dados
Programação II Estruturas de Dados
TADS – Tipos Abstratos de Dados
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.
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
David Menotti Estruturas de Dados I DECOM – UFOP
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Prof.: Sergio Pacheco Estruturas de Dados I Prof.: Sergio Pacheco 1.
Listas com Ponteiros Listas encadeadas Listas circulares.
Slides: Prof. João Fabro UTFPR - Curitiba
Slides: Prof. João Fabro UTFPR - Curitiba
Fundamentos de Programação 1
Lista Encadeada Circular Lista Duplamente Encadeada
Escola Secundária c/ 3º CEB da Batalha
Listas Encadeadas.
Alocação Dinâmica de Memória
ALGORITMOS E ESTRUTURAS DE DADOS
exercícios listas encadeadas
Professor Reverton de Paula Faculdade Anhanguera de Indaiatuba
Listas Encadeadas Raquel O. Prates, Luiz Chaimowicz, Jussara Almeida
Algoritmos e Estruturas de Dados
Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Aula 11 LISTAS LIGADAS.
Estruturas de Dados com Jogos
INTELIGÊNCIA ARTIFICIAL
Tipos Abstratos de Dados
1 Tipos Abstratos de Dados Pilhas e Filas TPA – 2008 –1 Prof. Mateus Costa.
Principais operações em Listas TPA Listas Simples Inserção no Final 1.void insereNofinalDaLista(Lista *l, Elemento e){ 2.Lista paux,p; 3. p.
Árvores Binárias de Pesquisa
TAD Pilha com Alocação Dinâmica de Memória
Implementação de FILAS com Alocação Dinâmica
Lista Encadeada Circular Lista Duplamente Encadeada
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Estruturas de Dados com Jogos
Programação II Estruturas de Dados Aula 02 - continuação
Listas lineares Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Estruturas de Dados PROFESSOR DIÓGENES FURLAN. Estruturas de Dados (ED) Programas operam sobre dados Dados são relacionados e possuem estrutura Como representar.
Estruturas de Dados Aula 11: TAD Pilha
Árvore Binária de Busca
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.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Estruturas de Dados Aula 17: Estruturas Genéricas
Estruturas de Dados Aula 7: Tipos Estruturados 23/04/2014.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Estruturas de Dados Aula 15: Árvores
Prof. Alessandro Gonçalves
Profa. Juliana Mafra ESTRUTURA DE DADOS 30 de Setembro de 2009 Faculdade de Informática e Tecnologia de Pernambuco.
UNIVERSIDADE FEDERAL DO AMAZONAS- UFAM INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA- ICET SISTEMAS DE INFORMAÇÃO ALGORITMOS E ESTRUTURAS DE DADOS II PILHAS.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
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.
Fundamentos de Programação 1 Slides 21 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Encadeada”.
Transcrição da apresentação:

Programação II Estruturas de Dados NGUESSAN.DESIRE@POLI.USP.BR Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação de pilha com Lista encadeada (alocação dinâmica) . . . O endereço de uma lista encadeada é o endereço da seu primeiro nó Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação Continuação A lista ligada ou encadeada é uma seqüência de nós ou células onde: Cada nó contem: dado de algum tipo Endereço do nó seguinte Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação Continuação Se P é o endereço de um nó, então: P->conteudo é o conteúdo do nó P->prox é o endereço do próximo nó conteúdo próximo Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação Implementação de pilha com Vetor Definição das operações Pilha* pilha_cria(void); void pilha_push(Pilha* p , float v); float pilha_pop(Pilha* p); int pilha_Vazia(Pilha* p); void pilha_libera(Pilha* p); Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação Continuação Implementação de pilha com Lista encadeada (alocação dinâmica) Definição da Estrutura de Dados da lista struct lista{ float info; struct lista* prox; }; typedef struct lista Lista; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação Continuação Implementação de pilha com Lista encadeada (alocação dinâmica) Definição da Estrutura de Dados do topo da pilha // topo da pilha struct pilha { Lista * topo; }; typedef struct pilha Pilha; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação Continuação Criar a pilha Pilha* pilha_cria(void){ Pilha* P = (Pilha*) malloc(sizeof(Pilha)); P->topo = NULL; // inicializa como zero elemento return P; } P Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação Continuação Função Empilhar void pilha_push(Pilha* p , float v){ Lista* L = (Lista*) malloc(sizeof(Lista)); L->info = v; L->prox = p->topo; p->topo = L; } Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Função desempilhar float v ; Lista* T; if (pilha_vazia(p)){ float pilha_pop(Pilha* p){ float v ; Lista* T; if (pilha_vazia(p)){ printf(" pilha vazia.\n"); exit(1); // aborta o programa } // retira elemento do topo T= p->topo; v= T->info; p->topo = T->prox; free(T); // libera o nó T return v; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

Pilha: Implementação Continuação Função testar pilha Vazia int pilha_vazia(Pilha* p){ return (p->topo == NULL); } Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan