Tipo de Dados Abstractos: Pilha (stack)
|
|
- Isaac Ventura Carneiro
- 8 Há anos
- Visualizações:
Transcrição
1 Tipos de Dados Abstractos Estruturas Lineares Pilhas e Filas FEUP - MIEEC Programação - 008/009 Tipo de Dados Abstractos: Pilha (stack) Pilha estrutura de dados linear em que: inserção e a remoção de elementos se faz pela mesma extremidade, designada por topo da pilha uma pilha pode ser considerada como uma restrição de lista porque é uma estrutura de dados mais simples que a lista, é possível obter implementações mais eficazes não usa iteradores estrutura do tipo LIFO (Last-In-First-Out) Exemplos de utilização tabuleiro de recepção de serviço de um administrativo! zona de memória auxiliar da execução de rotina de programação
2 TAD: Pilhas Operações mais usuais: criar uma pilha vazia adicionar/remover um elemento à pilha verificar qual o topo da pilha (último elemento adicionado) push() push() push() push() push() pop() pop() pop() pop() Classe stack (STL) Alguns métodos da classe stack (STL): stack() stack(const stack &) bool empty() const size_type size() const T & top() void push(const T &) void pop() stack & operator =(const stack &) Funções globais (não membros da classe stack): bool operator ==(const stack &, const stack &) bool operator <(const stack &, const stack &)
3 Pilhas: aplicação Notação RPN (Reverse Polish Notation) expressões matemáticas onde os operadores surgem a seguir aos operandos (notação posfixa) ex: + vantagem: não requer parêntesis nem regras de precedência outras notações: Notação infixa (comum): os operadores surgem entre os operandos ex: + Notação prefixa: os operadores surgem antes dos operandos ex: + exemplo: Notação infixa: * ( + ) / Notação RPN: + * / Pilhas: aplicação Avaliação de expressões RPN : algoritmo. Processar sequencialmente os elementos da expressão. Para cada elemento:. Se o elemento for um número (operando), colocá-lo na pilha.. Se o elemento for um operador... Retirar os dois elementos do topo da pilha... Processar os elementos de acordo com o operador... Colocar o resultado na pilha. Retirar o (único) elemento da pilha. É o resultado 6
4 Pilhas: aplicação class Elemento public: float valor; // valor=0 se elemento é operador char op; // op=? se elemento é operando Elemento(float v=0, char o='?'): valor(v), op(o) ; ; float calcop(float v, float v, char op) switch(op) case '+' : return v+v; case '-' : return v-v; case '*' : return v*v; case '/' : return v/v; default: cout << operação inválida <<endl; 7 Pilhas: aplicação float avaliarpn(string expressao) // simplificação: números de dígito apenas stack<elemento> pilha; for ( int i=0; i<expressao.length(); i++ ) if ( expressao[i]>='0' && expressao[i]<='9') // é numero pilha.push(elemento(expressao[i]-8,'?')); else float num = pilha.top().valor; pilha.pop(); float num = pilha.top().valor; pilha.pop(); float res = calcop(num, num, expressao[i]); pilha.push(elemento(res,'?')); float res = pilha.top().valor; pilha.pop(); return res; 8
5 Tipo de Dados Abstractos: Fila (queue) Fila estrutura de dados linear em que: inserção de elementos se faz por uma extremidade, designada por cauda remoção de elementos se faz por extremidade oposta à cauda, designada por cabeça uma fila pode ser considerada como uma restrição de lista não usa iteradores estrutura do tipo FIFO (First-In-First-Out) Exemplo fila de atendimento numa caixa de supermercado 9 TAD: Filas Operações mais usuais: criar uma fila vazia adicionar/remover um elemento a uma fila verificar qual o elemento da cabeça/cauda da fila (mais antigo/recente) front back front back front back front back push() push() push() push() front back front back front back front back pop() pop() pop() 0
6 Classe queue (STL) Alguns métodos da classe queue (STL): queue() queue(const queue &) bool empty() const size_type size() const T & front() T & back() void push(const T &) void pop() queue & operator =(const queue &) Funções globais (não membros da classe queue): bool operator ==(const queue &, const queue &) bool operator <(const queue &, const queue &) Filas: aplicação Pretende-se implementar uma classe para gerir a fila de impressão de uma impressora de rede. a impressora de rede, quando recebe um ficheiro para impressão, adiciona-o numa fila de espera do tipo FIFO. class Documento string nome; string utilizador; int tamanho; int nfolhas; public: Document(string n, string ut, int t, int f): nome(n), utilizador(ut), tamanho(t), nfolhas(f) string getutil() const return utilizador; string getnome() const return nome; int gettamanho() const return tamanho; int getnfolhas() const return nfolhas; void setnfolhas(int n) nfolhas=n; ;
7 Filas: aplicação class Impressora queue<documento> filaimpressao; int maxmemoria; int folhasrestantes; // nº folhas existentes na impressora public: Impressora(int m, int f): maxmemoria(m), folhasrestantes(f) void adicionardocumento(documento doc); Documento imprimirdocumento(); void trocartoner(int numerofolhas); // a implementar void listardocumentos(ostream& os); // a implementar void excluirdocumento(string n, string o); ; Filas: aplicação // adiciona um novo documento à fila de impressão. Se o tamanho do documento é superior à memória // disponível na impressora, o documento é ignorado. void Impressora::adicionarDocumento(Documento doc) //calcula memória consumida int memoriaconsumida = 0; queue<documento> temp(filaimpressao); while(!temp.empty()) memoriaconsumida += temp.front().gettamanho(); temp.pop(); //adiciona documento if( (maxmemoria - memoriaconsumida) >= doc.gettamanho() ) filaimpressao.push(doc); cout << nº docs na fila: << filaimpressao.size() << endl;
8 Filas: aplicação // imprime o próximo documento na lista de impressão. Se o documento for impresso na // totalidade, sai da fila. Caso não haja toner na impressora suficiente para imprimir todas as páginas do // documento, imprime as páginas que forem possíveis, deixando o restante para ser impresso mais tarde Documento Impressora::imprimirDocumento() Documento d = filaimpressao.front(); if( folhasrestantes >= d.getnfolhas() ) folhasrestantes -= d.getnfolhas(); filaimpressao.pop(); else int nfolhasdoc= d.getnfolhas()-folhasrestantes; filaimpressao.front().setnfolhas(nfolhasdoc); folhasrestantes = 0; cout << não foram impressas todas as folhas << endl; return d; Filas: aplicação // retira da fila de impressão o documento de nome n, pertencente ao utilizador ut. Caso encontre // mais do que um documento, todos devem ser retirados da fila de impressão. void Impressora::excluirDocumento(string n, string ut) queue<documento> temp; //apaga todos os documentos com nome n e utilizador ut while(!filaimpressao.empty()) if( (filaimpressao.front().getnome() == n) && (filaimpressao.front().getutil() == ut) ) filaimpressao.pop(); else temp.push( filaimpressao.front() ); filaimpressao.pop(); filaimpressao = temp; 6
Algoritmos e Estruturas de Dados 2007/2008
Pilhas e Filas Algoritmos e Estruturas de Dados 007/008 Pilhas Pilha estrutura de dados linear em que a inserção e a remoção de elementos de uma sequência se faz pela mesma extremidade, designada por topo
Leia maisAlgoritmos e Estruturas de Dados
Pilhas e Filas Algoritmos e Estruturas de Dados 009/00 Obs: slides marcados com (*) não foram apresentados na aula teórica, mas são parte da bibliografia a estudar! Pilhas Pilha estrutura de dados linear
Leia maisAlgoritmos e Estruturas de Dados 2005/2006
Pilhas e Filas Algoritmos e Estruturas de Dados 005/006 Pilhas Pilha estrutura de dados linear em que a inserção e a remoção de elementos de uma sequência se faz pela mesma extremidade, designada por topo
Leia maisPilhas Filas e Listas
Pilhas Filas e Listas Sumário Pilha: interface, aplicações e implementação Fila: interface, aplicações e implementação Lista Ligada: interface, aplicações e implementação Pilha Estrutura LIFO (last in,
Leia maisESTRUTURA DE DADOS PILHA
ESTRUTURA DE DADOS PILHA CONCEITO DE PILHAS - Pilhas são listas lineares onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo. Pilha vazia Insere(A)
Leia maisEstruturas de Dados. Parte dos slides a seguir são adaptações, extensões e traduções para C dos originais:
Estruturas de Dados Pilhas Prof. Ricardo J. G. B. Campello Créditos Parte dos slides a seguir são adaptações, extensões e traduções para C dos originais: disponíveis em http://ww3.datastructures.net/ cedidos
Leia maisEstruturas de Dados Pilhas, Filas e Deques
Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem
Leia maisPilhas. Profa Morganna Diniz
Pilhas Profa Morganna Diniz Pilhas Geralmente pilhas são úteis em situações em que dados devem ser recuperados em ordem inversa a do armazenamento É uma estrutura de dados linear que permite acesso por
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Tipos abstratos de dados
Programação Funcional 14 a Aula Tipos abstratos de dados Pedro Vasconcelos DCC/FCUP 2012 Tipos concretos de dados Até agora definimos um novo tipo de dados listamos os seus construtores. data Bool = False
Leia maisFUNDAÇÃO EDUCACIONAL DE ITUIUTABA
FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@yahoo.com
Leia maisEstrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 8: Pilhas com Alocação de Memória Estática O objetivo desta aula é apresentar estrutura de dados Pilha e suas aplicações. Introdução Embora
Leia maisAvaliação de Expressões
valiação de Expressões valiação de Expressões - Como efetuar o cálculo de uma expressão em um computador? Exemplo: / B C D + E Regras usuais da matemática. Os parênteses alteram a ordem das expressões:
Leia maisESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti
ESTRUTURAS DE DADOS I Notas de Aula 1 SUMÁRIO 1. INTRODUÇÃO... 2 1.1 Array (vetores)... 2 2. BUSCA DE ELEMENTOS... 3 2.1 Busca Seqüencial... 3 2.2 Busca Binária... 3 2.3 Busca Indexada... 3 2.4 Busca Hash...
Leia maisCIV 2802 Sistemas Gráficos para Engenharia º Trabalho: Programação básica em C++: Classes
CIV 2802 Sistemas Gráficos para Engenharia 2011.1 4º Trabalho: Programação básica em C++: Classes Implementação de uma calculadora RPN (Reversed Polish Notation) Entrega: 05/abril/2011 Pede-se complementar
Leia maisÁrvores. Algoritmos e Estruturas de Dados 2005/2006
Árvores Algoritmos e Estruturas de Dados 2005/2006 Árvores Conjunto de nós e conjunto de arestas que ligam pares de nós Um nó é a raiz Com excepção da raiz, todo o nó está ligado por uma aresta a 1 e 1
Leia maisAvaliação de expressões. Prof: Sérgio Souza Costa
Avaliação de expressões Prof: Sérgio Souza Costa Avaliação de expressões Como efetuar o cálculo de uma expressão em um computador? A / B * (D + C) Avaliação de expressões - Notações Avaliação de expressões
Leia maisGuia de Consulta Rápida C++ STL. Joel Saade. Novatec Editora
Guia de Consulta Rápida C++ STL Joel Saade Novatec Editora Guia de Consulta Rápida C++ STL de Joel Saade Copyright 2006 da Novatec Editora Ltda. Todos os direitos reservados. É proibida a reprodução desta
Leia maisSTL significa Standard Template Library. É uma biblioteca que contém algumas estruturas de dados, como árvore binária e lista encadeada.
STL significa Standard Template Library. É uma biblioteca que contém algumas estruturas de dados, como árvore binária e lista encadeada. Estas estruturas são chamadas de Containers. Elas armazenam coleções
Leia maisListas Duplamente Encadeadas
Listas Duplamente Encadeadas! quando for preciso seguir a seqüência de elementos em ambos os sentidos! cada nó possui dois ponteiros: ant e prox ant prox a b c d Início Fim 1 Listas Duplamente Encadeadas
Leia maisPrograma ConsoleRPN. PUC-Rio CIV 2802 - Sistemas Gráficos para Engenharia Luiz Fernando Martha & André Maués Brabo Pereira
Programa ConsoleRPN Programa criado com o Visual Studio Community 2013 para efetuar operações algébricas entre números, uma calculadora funcionando com console usando RPN PUC-Rio CIV 2802 - Sistemas Gráficos
Leia maisAlgoritmos de Pesquisa e Ordenação em Vectores
Algoritmos de Pesquisa e Ordenação em Vectores FEUP - MIEEC Programação 2-2008/2009 Pesquisa Sequencial Problema (pesquisa de valor em vector): Verificar se um valor existe no vector e, no caso de existir,
Leia maisMétodos Computacionais. Fila
Métodos Computacionais Fila Definição de Fila Fila é uma estrutura de dados dinâmica onde: Inserção de elementos se dá no final e a remoção no início O primeiro elemento que entra é o primeiro que sai
Leia maisESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira
ESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira ÁRVORES ED2: MSc. Daniele Oliveira 2 Introdução Filas, pilhas» Estruturas Lineares Um dos exemplos mais significativos de estruturas não-lineares são
Leia maisBusca. Pesquisa sequencial
Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um
Leia maisEstrutura de Dados Pilha (Stack)
Estrutura de Dados Pilha (Stack) Estrutura de Dados que corresponde a uma lista sequencial com a propriedade seguinte: LIFO O primeiro elemento a entrar é o último a sair ( Last in First Out ) Operações
Leia maisIntrodução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
Leia maisMétodos Computacionais. Árvores
Métodos Computacionais Árvores Árvores Vetores e Listas são ótimos para representar estrutura de dados lineares, mas não para modelar dados hierárquicos Exemplos de dados hierárquicos: sistema de arquivos
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 14 Árvores Binárias Edirlei Soares de Lima Árvores Uma estrutura de dados do tipo árvore permite que dados sejam organizados de maneira hierárquica.
Leia maisSCC 202 Algoritmos e Estruturas de Dados I. Pilhas (Stacks) (implementação dinâmica)
SCC 202 Algoritmos e Estruturas de Dados I Pilhas (Stacks) (implementação dinâmica) Operações alocação encadeada dinâmica typedef struct elem{ tipo_info info; struct elem *lig; tipo_elem; typedef struct{
Leia maisExpressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe
Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Expressão é uma frase de um programa que ao ser avaliada retorna um valor Tipos Literais Agregados Chamadas de Função
Leia maisPilhas e Filas. Conteúdo. FEUP/LEEC Algoritmos e Estruturas de Dados 2001/2002. João Canas Ferreira
FEUP/LEEC Algoritmos e Estruturas de Dados 00/00 Pilhas e Filas João Canas Ferreira http://www.fe.up.pt/~jcf FEUP/LEEC,AED,00/00, v0. Pilhas e Filas # Conteúdo. Pilhas (a) Implementação baseada em listas
Leia maisA Pilha. Aula 02. DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria
Engenharia de CONTROLE e AUTOMAÇÃO A Pilha Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br 1/5
Leia maisComposição de classes
Programação com Classes em C++ (cont.) FEUP - MIEEC Programação 2-2008/2009 Composição de classes Uma classe pode ter como membros objectos doutras classes Membros-objecto são inicializados antes dos objectos
Leia maisDAS5102 Fundamentos da Estrutura da Informação
Pilhas A estrutura de dados Pilha emula a forma de organização de objetos intuitiva que é utilizada diariamente nos mais diversos contextos da vida humana. Containeres são empilhados e desempilhados diariamente
Leia maisAlgoritmos e Estruturas de Dados 2006/2007
Filas de prioridade Algoritmos e Estruturas de Dados 2006/2007 Filas de prioridade Uma fila de prioridade permite, pelo menos, duas operações sobre um conjunto de valores comparáveis: inserção de um elemento
Leia maisAula 8- Standard Template Library. Arthur Ribacki Gabriel Portal Leonardo Chatain Luiz Fernando Scheidegger Rosália Schneider
Aula 8- Standard Template Library Arthur Ribacki Gabriel Portal Leonardo Chatain Luiz Fernando Scheidegger Rosália Schneider STL Motivação... int int_array = 5; char **vetor = new char*[int_array]; for(int
Leia maisAnalise o código abaixo:
Recursão - introdução Analise o código abaixo: 1 # include 2 # include 3 int Fatorial ( int x) 4 int k, s =1; for (k =0;k
Leia maisCapítulo 2: Introdução à Linguagem C
Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso
Leia maisALGORITMOS E ESTRUTURAS DE DADOS Terceiro Trabalho Prático Recursividade e Pilhas
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação ALGORITMOS E ESTRUTURAS DE DADOS Terceiro Trabalho Prático Recursividade e Pilhas Luiz Henrique Santos
Leia maisINF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 10 Árvores Binárias (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Árvores binárias Representação em C Ordens de percurso em árvores binárias Altura de uma árvore
Leia maisTipo de Dados em Linguagem C
Tipo de Dados em Linguagem C Principais tipos de dados em C int : tipo de dados inteiros (exemplo: 1, -3, 100, -9, 18, etc.) float : tipo de dados reais (exemplo: 1.33, 3.14, 2.00, -9.0, 1.8, etc.) Ocupa
Leia maisTipos de Dados Abstractos Estruturas Lineares Listas
Tipos de Dados Abstractos Estruturas Lineares Listas FEUP - MIEEC Programação 2-2008/2009 Tipo de Dados Abstractos (TDA) TDA conjunto de objectos + conjuntos de operações abstracção matemática (dados são
Leia maisCES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Pilhas Filas Deques Pilhas,,f filas e deques Vimos que as listas lineares admitem inserção e eliminação
Leia maisEstruturas de Dados. Módulo 11 Pilhas. 9/8/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 11 Pilhas 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisComponentes da linguagem C++
Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras
Leia maisMétodos de Pesquisa em Memória Primária
Algoritmos e Estrutura de Dados II Métodos de Pesquisa em Memória Primária Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Pesquisa Por pesquisa (procura ou busca) entende-se o ato
Leia maisFACULDADE DE TECNOLOGIA SENAC GOIÁS ADELTON HENRIQUE ABISHAI LEMES BORGES NETO HENRIQUE FERREIRA DA SILVA
FACULDADE DE TECNOLOGIA SENAC GOIÁS ADELTON HENRIQUE ABISHAI LEMES BORGES NETO HENRIQUE FERREIRA DA SILVA ESTRUTURA DE DADOS GOIANIA 2015/2 ADELTON HENRIQUE ABISHAI LEMES BORGES NETO HENRIQUE FERREIRA
Leia maisAula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>
Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação
Universidade Federal de Uberlândia Faculdade de Computação Prof. Flávio de Oliveira Silva, M.Sc. Março de 2010 2 Sumário Lista de Figuras... 4 1. Introdução... 5 2. Coleção de Dados... 5 2.1 Coleções Lineares...
Leia maisPilha. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof. Gustavo Batista
Pilha SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:
Leia maisEstruturas de Dados Aula 11: TAD Pilha 09/05/2011
Estruturas de Dados Aula 11: TAD Pilha 09/05/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo
Leia maisVectores em C++ Classe vector: Introdução
Vectores em C++ FEUP - MIEEC Programação 2-2008/2009 Classe vector: Introdução A classe vector é uma alternativa à representação de array primitivo Template de classe necessário especificar o tipo dos
Leia maisProgramas operam sobre dados. Dados são relacionados e possuem estrutura. Como representar e manipular dados em um computador
Programas operam sobre dados Dados são relacionados e possuem estrutura Como representar e manipular dados em um computador Para representar um baralho precisamos: Representar cartas: naipe e valor struct
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leia maisINTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 1 AULA TEÓRICA 4
Leia maisTipos de Dado Abstrato: Listas, Filas e Pilhas
Tipos de Dado Abstrato: Listas, Filas e Pilhas Estruturas de Dados Prof. Vilson Heck Junior Introdução Tradicionalmente conhecidos como Tipos de Dado Abstrato, são algumas Estruturas de Dados básicas e
Leia maisLista 02: Pilhas & Filas
MAC122 Princípios de Desenvolvimento de Algoritmos DCC IME USP 2º Semestre de 2018 Prof.: Dr. Paulo Miranda pmiranda@vision.ime.usp.br Lista 02: Pilhas & Filas Para as questões envolvendo pilhas, assuma
Leia maisMestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P3B Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em
Leia maisUniversidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação
UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Operação
Leia maisAlgoritmos e Estrutura de Dados II
Universidade Federal do Vale do São Francisco Algoritmos e Estrutura de Dados II Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Ementa Árvores B, grafos e tabelas de hash: alocação
Leia maisCurso : Tecnologia em Desenvolvimento de Sistemas - AEMS
Curso : Tecnologia em Desenvolvimento de Sistemas - AEMS Série : 3 º Período - 1 º Semestre de 2011 Professora : Elzi Ap. Gil 3. LISTAS LINEARES PARTE - III Disciplina - Estrutura de Dados Segundo Pereira(2002),
Leia maisEstruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos
Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS
Leia maisProgramação 2. Trabalho Prático P4B. Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em ambiente Linux.
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P4B Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em
Leia mais2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10
1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...
Leia maisEstruturas de entrada e saída
capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções
Leia maisPesquisa em Memória Primária. Prof. Jonas Potros
Pesquisa em Memória Primária Prof. Jonas Potros Pesquisa em Memoria Primária Estudo de como recuperar informação a partir de uma grande massa de informação previamente armazenada. A informação é dividida
Leia maisEAD Árvore árvore binária
EAD Árvore árvore binária - Uma árvore binária é um conjunto finito de elementos (nodos) que pode ser vazio ou particionado em três subconjuntos: - raiz da árvore (elemento inicial, que é único); - subárvore
Leia maisO container vector funciona como um vetor comum, ou seja, os blocos de objetos estão contíguos, permitindo acesso aleatório.
Capítulo 29 class O container vector vai ser apresentado em detalhes. Os demais containers serão apresentados de uma forma simplificada, pois as suas características são semelhantes a vector.
Leia maisExercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento
1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário
Leia maisPilha. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof. Gustavo Batista
Pilha SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências
Leia maisPesquisa Sequencial e Binária
Pesquisa Sequencial e Binária Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 20 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial
Leia maisESTRUTURA CONDICIONAL
AULA 6 ESTRUTURA CONDICIONAL 130 Tem como objetivo executar um conjunto de comandos caso uma condição lógica seja atendida. Quando a resposta lógica for falsa, nada será executado. Sintaxe Se CONDIÇÃO
Leia maisTipos de Dados, Tipos Abstratos de Dados Estruturas de Dados
Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipo de dados, tipo abstrato de dados, estruturas de dados Termos parecidos, mas com significados diferentes Tipo de dado Em linguagens de programação
Leia maisDEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia mais2ª Lista de Exercícios
Universidade Federal de Minas Gerais Departamento de Ciência da Computação Algoritmos e Estruturas de Dados II (Turmas M, N, W, F) 1º Semestre de 2012 Profs. Camilo Oliveira, Gisele Pappa, Ítalo Cunha,
Leia maisTrabalho 3: Agenda de Tarefas
INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma
Leia maisPrincípios de programação em Linguagem C++
Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Princípios de programação em Linguagem C++ 1 Introdução A Linguagem C++ é uma extensão da linguagem
Leia maisConceito de classe em C++
Introdução à Programação com Classes em C++ Ana Paula Rocha, Luís Paulo Reis, João Pascoal Faria FEUP - MIEEC Programação 2-2008/2009 Conceito de classe em C++ Classe em sentido lato: tipo de dados definido
Leia mais-Estrutura linear de acesso seqüencial que ordena seus elementos pela seqüência cronológica de sua entrada;
FILAS (Queues) -Estrutura linear de acesso seqüencial que ordena seus elementos pela seqüência cronológica de sua entrada; -Estrutura FIFO (First In First Out) a ordem de saída é a mesma ordem de entrada
Leia maisFilas de prioridade. Algoritmos e Estruturas de Dados AED 2005/2006 AEDA 2009/2010
Filas de prioridade Algoritmos e Estruturas de Dados AED 2005/2006 AEDA 2009/2010 Qual a Utilidade das Filas de Prioridade? Trabalhos maiores devem ser executados no fim (mesmo que não tenha sido o último
Leia maisUm exercício (pilhas, BST,...)
No arquivo de uma Biblioteca, existem livros raramente requisitados para empréstimo. Estes livros ficam guardados num arquivo, dentro de caixas numeradas. Cada caixa contém um número máximo de livros,
Leia maisPilha. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira
Pilha SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Pilha O que é? Para que serve? 2 Problema: chamada de sub-rotinas Rotina A 1 print A 2 call C 3 call B 4 call D 5 return Rotina B 1 call
Leia maisINTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita
Leia maisPYTHON LISTAS. Introdução à Programação SI2
PYTHON LISTAS Introdução à Programação SI2 3 Sequências Sequências! Podem ser indexados por algum valor ordinal posicional Algumas operações são aplicadas a todos os tipos de sequências. Listas li = [1,2,3,
Leia maisBUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES
BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é
Leia maisEstruturas (Registros)
Estruturas (Registros) Agrupa conjunto de tipos de dados distintos sob um único nome string string inteiro inteiro inteiro float float Cadastro Pessoal Nome Endereço Telefone Idade Data de Nascimento Peso
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++
Leia maisFunções recursivas. O exemplo mais comum: int fat(int n){ if(n == 0) return 1; return n*fat(n-1); }
Funções Recursivas Funções recursivas O exemplo mais comum: int fat(int n){ if(n == 0) return 1; return n*fat(n-1); Versão sem recursão: int fat(int n){ int i = 0; int f = 1; for(i=1; i
Leia maise à Linguagem de Programação Python
Introdução a Algoritmos, Computação Algébrica e à Linguagem de Programação Python Curso de Números Inteiros e Criptografia Prof. Luis Menasché Schechter Departamento de Ciência da Computação UFRJ Agosto
Leia maisEstruturas de Dados Aula 15: Árvores 17/05/2011
Estruturas de Dados Aula 15: Árvores 17/05/2011 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo
Leia maisÁrvores e Árvores Binárias
MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvores do capítulo 4 do livro N. Wirth. Algorithms + Data Structures
Leia maisFilas COMANDOS EM C++ PARA IMPLEMENTAÇÃO DE UMA FILA. Biblioteca padrão <queue>
Filas Uma fila é uma lista linear em que as inserções são realizadas num extremo, ficando as remoções restritas a outro. palavra da língua inglesa, significa fila. Por tradição, as duas operações básicas
Leia maisAlgoritmos e Estruturas de Dados 2005/2006
Filas de prioridade Algoritmos e Estruturas de Dados 2005/2006 Filas de prioridade Uma fila de prioridade permite, pelo menos, duas operações sobre um conjunto de valores comparáveis: inserção de um elemento
Leia maisAlgoritmos de pesquisa. Tabelas de dispersão/hash
Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor (array). Se o vetor não está ordenado, a pesquisa requer O(n) de
Leia mais