Tabelas de Dispersão (hash tabels)

Tamanho: px
Começar a partir da página:

Download "Tabelas de Dispersão (hash tabels)"

Transcrição

1 INF1010-3WB Estruturas de Dados Avaçadas Tabelas de Dispersão (hash tabels) 23/03/ DI, PUC-Rio Estruturas de Dados Avaçadas Motivação Busca (acesso) com vetor é muito eficiete Ifo* v[n];... v[i]->... Iformação 0 Iformação 2 Iformação 1 Iformação 3 Iformação (-1) 23/03/16 (c) Dept. Iformática - PUC-Rio 2 1

2 Nem sempre temos chaves uméricas pequeas struct aluo it mat; char ome[81]; char [41]; char turma; ; typedef struct aluo Aluo; Como fazer para buscar pelo ome ou pela matrícula? 23/03/16 (c) Dept. Iformática - PUC-Rio 3 Idéia dos escaihos A primeira letra do ome defie a caixa ode a iformação é depositada Hash : Ifo [0, N] x h( x) 23/03/16 (c) Dept. Iformática - PUC-Rio 4 2

3 Tabelas de Dispersão (Hash Tables) utilizadas para buscar um elemeto em ordem costate O(1) ecessitam de mais memória, proporcioal ao úmero de elemetos armazeado ex.: 14,16,58,39,44,10,72,22, chave k Î[0,99] 8 elemetos Þ N=13 kî[0,99] h h: [0,99] [0,12] h(k) = (k % 13) /03/16 (c) Dept. Iformática - PUC-Rio 5 Tabelas de Dispersão (Hash Tables) utilizadas para buscar um elemeto em ordem costate O(1) ecessitam de mais memória, proporcioal ao úmero de elemetos armazeado ex.: 14,16,58,39,44,10,72,22, chave k Î[0,99] 8 elemetos Þ N=20 kî[0,99] h h(k) = (k % 20) h: [0,99] [0,12] , /03/16 (c) Dept. Iformática - PUC-Rio 6 3

4 Fução de dispersão (fução de hash) mapeia uma chave de busca em um ídice da tabela deve apresetar as seguites propriedades: ser eficietemete avaliada (para acesso rápido) espalhar bem as chaves de busca (para miimizarmos colisões) colisão = duas ou mais chaves de busca são mapeadas para um mesmo ídice da tabela de hash kî[0,99] h h: [0,99] [0,12] h(k) = (k % 13) 23/03/16 (c) Dept. Iformática - PUC-Rio 7 Dimesão da tabela deve ser escolhida para dimiuir o úmero de colisões costuma ser um valor primo a taxa de ocupação ão deve ser muito alta: a taxa de ocupação ão deve ser superior a 75% uma taxa de 50% em geral traz bos resultados uma taxa meor que 25% pode represetar um gasto excessivo de memória Fator de carga = (#etradas/tamaho) 23/03/16 (c) Dept. Iformática - PUC-Rio 8 4

5 Exemplo de Tabelas de Dispersão tipo Aluo: defie o tipo da estrutura de dados de iteresse tipo Hash: defie o tipo dos vetores de poteiros para Aluo struct aluo it mat; char ome[81]; char [41]; char turma; ; typedef struct aluo Aluo; it hash (it mat) retur (mat%n); #defie N 127 typedef Aluo* Hash[N]; 23/03/16 (c) Dept. Iformática - PUC-Rio 9 Hashig Perfeito Característica: Para quaisquer chaves x e y diferetes e pertecetes a A, a fução utilizada forece saídas diferetes; 5

6 Exemplo de Hashig Perfeito (1/6) Supoha que queiramos armazear os dados referetes aos aluos de uma determiada turma que igressaram em um curso específico. Cada aluoé idetificado uicamete pela sua matrícula. Na PUC-Rio, o úmero de matrícula dos aluos é dado por uma seqüêcia de 8 dígitos. struct aluo it mat; // 4 bytes = 4 bytes char ome[81]; // 1 byte * 81 = 81 bytes char [41]; // 1 byte * 41 = 41 bytes ; Total = 126 bytes typedef struct aluo Aluo; Exemplo de Hashig Perfeito (2/6) O úmero de dígitos efetivos a matrícula são 7, pois o último dígito é o de verificação (ou cotrole). Para permitir um acesso a qualquer aluo em ordem costate, podemos usar o úmero de matrícula do aluo como ídice de um vetor. Um problema é que pagamos um preço alto para ter esse acesso rápido. Porque!? Resp: Visto que a matrícula é composta de 7 dígitos, etão podemos esperar uma matrícula variado de a Portato, precisaríamos dimesioar um vetor com DEZ Milhões de elemetos. 6

7 Exemplo de Hashig Perfeito (3/6) Como a estrutura de cada aluo ocupa 126 bytes, etão seriam ecessários reservar bytes, ou seja, acima de 1 GByte de memória. Como a prática teremos em toro de 50 aluos em uma turma cadastrados o curso, precisaríamos a realidade de (=126*50) bytes. Perguta: Como ameizar o gasto excessivo de memória!? Resp: Utilizado um vetor de poteiros, em vez de um vetor de estruturas. Porque melhor vetor de poteiros? Alocação dosaluos cadastrados seria realizada diamicamete. Portato, cosiderado que cada poteiro ocupa 4 bytes, o gasto excedete de memória seria bytes. (~= 38 MBytes) Exemplo de Hashig Perfeito (4/6) Apesar da dimiuição do gasto de memória, este gasto é cosiderável e desecessário. A forma de resolver o problema de gasto excessiv o de memória, garatido um acesso rápido, é através de Hashig. Perguta: Como costruir a Tabela Hash para armazear as iformações dos aluos de uma determiada turma de um curso específico? Resp: Idetificado as partes sigificativas da chave. Aalisado a chave: Descosiderado o último dígito (cotrole), temos outros dígitos com sigificados especiais: chamada do aluo código do curso período de igresso ao de igresso 7

8 Exemplo de Hashig Perfeito (5/6) Portato, podemos cosiderar o cálculo de edereço parte do úmero da matrícula. Esta parte mostra a dimesão que a Tabela Hash deverá ter. Por exemplo, dimesioado com apeas 100 elemetos, ou seja, Aluo* tabaluos[100]. Perguta: Qual a fução que aplicada sobre matrículas de aluos da PUC-Rio retora os ídices da tabela? Resp: Depede qual é a turma e o curso específico dos aluos que devem ser armazeados? Exemplo de Hashig Perfeito (6/6) Supodo que a turma seja do 2º semestre de 2005 (código 052) e do curso de Sistemas de Iformação (código 35). Qual seria a fução de hashig perfeito!? it fucao_hash(it matricula) it valor = matricula ; if((valor >= 0) & (valor <=99)) the retur valor; else retur -1; Acesso: dada mat à tabaluos[fucao_hash(mat)] 8

9 Estratégias para tratameto de colisão uso da primeira posição cosecutiva livre(ecadeameto iterior): simples de implemetar tede a cocetrar os lugares ocupados a tabela uso de uma seguda fução de dispersão (ecadeameto aberto): evita a cocetração de posições ocupadas a tabela usa uma seguda fução de dispersão para re-posicioar o elemeto uso de listas ecadeadas(ecadeameto exterior): simples de implemetar cada elemeto da tabela hash represeta um poteiro para uma lista ecadeada 23/03/16 (c) Dept. Iformática - PUC-Rio 17 Tratameto de Colisão Uso da posição cosecutiva livre: estratégia geral: armazee os elemetos que colidem em outros ídices, aida ão ocupados, da própria tabela estratégias particulares: diferem a escolha da posição aida ão ocupada para armazear um elemeto que colide 23/03/16 (c) Dept. Iformática - PUC-Rio 18 9

10 Uso da posição cosecutiva livre Estratégia 1: se a fução de dispersão mapeia a chave de busca para um ídice já ocupado, procure o próximo ídice livre da tabela (usado icremeto circular) para armazear o ovo elemeto x h(x) busca posição livre 23/03/16 (c) Dept. Iformática - PUC-Rio 19 Operação de busca supoha que uma chave x for mapeada pela fução de hash h para um determiado ídice h(x) procure a ocorrêcia do elemeto a partir de h(x), até que o elemeto seja ecotrado ou que uma posição vazia seja ecotrada 23/03/16 (c) Dept. Iformática - PUC-Rio 20 10

11 Operação de busca etrada: a tabela e a chave de busca saída: o poteiro do elemeto, se ecotrado NULL, se o elemeto ão for ecotrado Aluo* hsh_busca (Hash tab, it mat) it h = hash(mat); while (tab[h]!= NULL) if (tab[h]->mat == mat) retur tab[h]; h = (h+1) % N; retur NULL; 23/03/16 (c) Dept. Iformática - PUC-Rio 21 Operação de iserção e modificação supoha que uma chave x for mapeada pela fução de hash h para um determiado ídice h(x) procure a ocorrêcia do elemeto a partir de h(x), até que o elemeto seja ecotrado ou que uma posição vazia seja ecotrada se o elemeto existir, modifique o seu coteúdo se ão existir, isira um ovo a primeira posição livre que ecotrar a tabela, a partir do ídice mapeado 23/03/16 (c) Dept. Iformática - PUC-Rio 22 11

12 Iserção/modificação Aluo* hsh_isere(hash tab,it mat, char*, char* e, char t) it h = hash(mat); while (tab[h]!= NULL) if (tab[h]->mat == mat) break; h = (h+1) % N; if (tab[h]==null) /* ão ecotrou o elemeto */ tab[h] = (Aluo*) malloc(sizeof(aluo)); tab[h]->mat = mat; /* atribui/modifica iformação */ strcpy(tab[h]->ome,); strcpy(tab[h]-> ,e); tab[h]->turma = t; retur tab[h]; 23/03/16 (c) Dept. Iformática - PUC-Rio 23 Tratameto de Colisão Uso de uma seguda fução de dispersão: exemplo: primeira fução de hash: seguda fução de hash: h ( x) = x% N h' ( x) = N 2 x%( N 2) ode x represeta a chave de busca e N a dimesão da tabela se houver colisão, procure uma posição livre a tabela com icremetos dados por h (x) em lugar de tetar (h(x)+1)%n, tete (h(x)+h (x))%n 23/03/16 (c) Dept. Iformática - PUC-Rio 24 12

13 Uso de uma seguda fução de dispersão (cot) cuidados a escolha da seguda fução de dispersão: uca pode retorar zero pois isso ão faria com que o ídice fosse icremetado ão deve retorar um úmero divisor da dimesão da tabela pois isso limitaria a procura de uma posição livre a um sub-cojuto restrito dos ídices da tabela se a dimesão da tabela for um úmero primo, garate-se automaticamete que o resultado da fução ão será um divisor 23/03/16 (c) Dept. Iformática - PUC-Rio 25 Busca com seguda fução de colisão static it hash2 (it mat) retur N mat%(n-2); Aluo* hsh_busca (Hash tab, it mat) it h = hash(mat); it h2 = hash2(mat); while (tab[h]!= NULL) if (tab[h]->mat == mat) retur tab[h]; h = (h+h2) % N; retur NULL; 23/03/16 (c) Dept. Iformática - PUC-Rio 26 13

14 Tratameto de Colisão Uso de listas ecadeadas cada elemeto da tabela hash represeta um poteiro para uma lista ecadeada todos os elemetos mapeados para um mesmo ídice são armazeados a lista ecadeada os ídices da tabela que ão têm elemetos associados represetam listas vazias x h(x) 23/03/16 (c) Dept. Iformática - PUC-Rio 27 Tratameto de Colisão Exemplo: cada elemeto armazeado a tabela será um elemeto de uma lista ecadeada a estrutura da iformação deve prever um poteiro adicioal para o próximo elemeto da lista struct aluo it mat; char ome[81]; char turma; char [41]; struct aluo* prox; /* ecadeameto a lista de colisão */ ; typedef struct aluo Aluo; 23/03/16 (c) Dept. Iformática - PUC-Rio 28 14

15 /* fução para iserir ou modificar um determiado elemeto */ Aluo* hsh_isere (Hash tab, it mat, char*, char* e, char t) it h = hash(mat); Aluo* a = tab[h]; while (a!= NULL) if (a->mat == mat) break; a = a->prox; if (a==null) /* ão ecotrou o elemeto */ /* isere ovo elemeto o iício da lista */ a = (Aluo*) malloc(sizeof(aluo)); a->mat = mat; a->prox = tab[h]; tab[h] = a; /* atribui ou modifica iformação */ strcpy(a->ome,); strcpy(a-> ,e); a->turma = t; retur a; 23/03/16 (c) Dept. Iformática - PUC-Rio 29 Exemplo: úmero de ocorrêcias de palavras Especificação: programa para exibir quatas vezes cada palavra ocorre em um dado texto etrada: um texto T saída: uma lista de palavras, em ordem decrescete do úmero de vezes que cada palavra ocorre em T observações: uma palavra é uma seqüêcia de uma ou mais letras (maiúsculas ou miúsculas) por simplicidade, caracteres acetuados ão são cosiderados 23/03/16 (c) Dept. Iformática - PUC-Rio 30 15

16 Exemplo: úmero de ocorrêcias de palavras Armazeameto das palavras lidas e da sua freqüêcia: tabela de dispersão usa a própria palavra como chave de busca Fução para obter a freqüêcia das palavras: dada uma palavra, tete ecotrá-la a tabela se ão existir, armazee a palavra a tabela se existir, icremete o úmero de ocorrêcias da palavra Fução para exibir as ocorrêcias em ordem decrescete: crie um vetor armazeado as palavras da tabela de dispersão ordee o vetor exiba o coteúdo do vetor 23/03/16 (c) Dept. Iformática - PUC-Rio 31 Exemplo: úmero de ocorrêcias de palavras Tabela de dispersão: usa a lista ecadeada para o tratameto de colisões #defie NPAL 64 /* dimesão máxima de cada palavra */ #defie NTAB 127 /* dimesão da tabela de dispersão */ /* tipo que represeta cada palavra */ struct palavra char pal[npal]; it ; /* cotador de ocorrêcias */ struct palavra* prox; /* colisão com listas */ ; typedef struct palavra Palavra; /* tipo que represeta a tabela de dispersão */ typedef Palavra* Hash[NTAB]; 23/03/16 (c) Dept. Iformática - PUC-Rio 32 16

17 Exemplo: úmero de ocorrêcias de palavras Leitura de palavras: captura a próxima seqüêcia de letras do arquivo texto etrada: poteiro para o arquivo de etrada cadeia de caracteres armazeado a palavra capturada saída: iteiro, idicado leitura bem sucedida (1) ou ão (0) processameto: capture uma palavra, pulado os caracteres que ão são letras e armazeado a seqüêcia de letras a partir da posição do cursor do arquivo para idetificar se um caractere é letra ou ão, use a fução isalpha dispoibilizada pela iterface ctype.h 23/03/16 (c) Dept. Iformática - PUC-Rio 33 static it le_palavra (FILE* fp, char* s) it i = 0; it c; /* pula caracteres que ão são letras */ while ((c = fgetc(fp))!= EOF) if (isalpha(c)) break; if (c == EOF) retur 0; else s[i++] = c /* primeira letra já foi capturada */ /* lê os próximos caracteres que são letras */ while ( i<npal-1 && (c = fgetc(fp))!= EOF && isalpha(c)) s[i++] = c; s[i] = '\0'; retur 1; 23/03/16 (c) Dept. Iformática - PUC-Rio 34 17

18 Exemplo: úmero de ocorrêcias de palavras Fução para iicializar a tabela: atribui NULL a cada elemeto static void iicializa (Hash tab) it i; for (i=0; i<ntab; i++) tab[i] = NULL; 23/03/16 (c) Dept. Iformática - PUC-Rio 35 Exemplo: úmero de ocorrêcias de palavras Fução de dispersão: mapeia a chave de busca (uma cadeia de caracteres) em um ídice da tabela soma os códigos dos caracteres que compõem a cadeia e tira o módulo dessa soma para se obter o ídice da tabela static it hash (char* s) it i; it total = 0; for (i=0; s[i]!='\0'; i++) total += s[i]; retur total % NTAB; 23/03/16 (c) Dept. Iformática - PUC-Rio 36 18

19 Exemplo: úmero de ocorrêcias de palavras Fução para acessar os elemetos a tabela: etrada: uma palavra (chave de busca) saída: o poteiro da estrutura Palavra associada processameto: se a palavra aida ão existir a tabela, crie uma ova palavra e foreça como retoro essa ova palavra criada 23/03/16 (c) Dept. Iformática - PUC-Rio 37 static Palavra *acessa (Hash tab, char* s) Palavra* p; it h = hash(s); for (p=tab[h]; p!=null; p=p->prox) if (strcmp(p->pal,s) == 0) retur p; /* isere ova palavra o iicio da lista */ p = (Palavra*) malloc(sizeof(palavra)); strcpy(p->pal,s); p-> = 0; p->prox = tab[h]; tab[h] = p; retur p; 23/03/16 (c) Dept. Iformática - PUC-Rio 38 19

20 Exemplo: úmero de ocorrêcias de palavras Trecho da fução pricipal: acessa cada palavra icremeta o seu úmero de ocorrêcias... iicializa(tab); while (le_palavra(fp,s)) Palavra* p = acessa(tab,s); p->++;... 23/03/16 (c) Dept. Iformática - PUC-Rio 39 Exemplo: úmero de ocorrêcias de palavras Exibição do resultado ordeado: crie diamicamete um vetor para armazear as palavras vetor de poteiros para a estrutura Palavra tamaho do vetor = úmero de palavras armazeadas a tabela coloque o vetor em ordem decrescete do úmero de ocorrêcias de cada palavra se duas palavras tiverem o mesmo úmero de ocorrêcias, use a ordem alfabética como critério de desempate 23/03/16 (c) Dept. Iformática - PUC-Rio 40 20

21 /* fução para percorrer a tabela e cotar o úmero de palavras etrada: tabela de dispersão */ static it cota_elems (Hash tab) it i; Palavra* p; it total = 0; for (i=0; i<ntab; i++) for (p=tab[i]; p!=null; p=p->prox) total++; retur total; 23/03/16 (c) Dept. Iformática - PUC-Rio 41 /* fução para criar diamicamete o vetor de poteiros etrada: úmero de elemetos tabela de dispersão */ static Palavra** cria_vetor (it, Hash tab) it i, j=0; Palavra* p; Palavra** vet = (Palavra**) malloc(*sizeof(palavra*)); /* percorre tabela preechedo vetor */ for (i=0; i<ntab; i++) for (p=tab[i]; p!=null; p=p->prox) vet[j++] = p; retur vet; 23/03/16 (c) Dept. Iformática - PUC-Rio 42 21

22 Exemplo: úmero de ocorrêcias de palavras Ordeação do vetor (de poteiros para Palavra): utilize a fução qsort da biblioteca padrão defia a fução de comparação apropriadamete static it compara (cost void* v1, cost void* v2) Palavra** p1 = (Palavra**)v1; Palavra** p2 = (Palavra**)v2; if ((*p1)-> > (*p2)->) retur -1; else if ((*p1)-> < (*p2)->) retur 1; else retur strcmp((*p1)->pal,(*p2)->pal); 23/03/16 (c) Dept. Iformática - PUC-Rio 43 Exemplo: úmero de ocorrêcias de palavras Impressão da tabela: static void imprime (Hash tab) it i; it ; Palavra** vet; /* cria e ordea vetor */ = cota_elems(tab); vet = cria_vetor(,tab); qsort(vet,,sizeof(palavra*),compara); /* imprime ocorrêcias */ for (i=0; i<; i++) pritf("%s = %d\",vet[i]->pal,vet[i]->); /* libera vetor */ free(vet); 23/03/16 (c) Dept. Iformática - PUC-Rio 44 22

23 Exemplo: úmero de ocorrêcias de palavras Fução Pricipal: #iclude <stdio.h> #iclude <strig.h> #iclude <ctype.h> #iclude <stdlib.h>... /* fuções auxiliares mostradas acima */ 23/03/16 (c) Dept. Iformática - PUC-Rio 45 it mai (it argc, char** argv) FILE* fp; Hash tab; char s[npal]; if (argc!= 2) pritf("arquivo de etrada ao forecido.\"); retur 0; /* abre arquivo para leitura */ fp = fope(argv[1],"rt"); if (fp == NULL) pritf("erro a abertura do arquivo.\"); retur 0; /* cota ocorrêcia das palavras */ iicializa(tab); while (le_palavra(fp,s)) Palavra* p = acessa(tab,s); p->++; /* imprime ordeado */ imprime (tab); retur 0; 23/03/16 (c) Dept. Iformática - PUC-Rio 46 23

24 Resumo Tabelas de dispersão (hash tables): utilizadas para buscar um elemeto em ordem costate O(1) Fução de dispersão (fução de hash): mapeia uma chave de busca em um ídice da tabela Estratégias para tratameto de colisão: uso da primeira posição cosecutiva livre k uso de uma seguda fução de dispersão h uso de listas ecadeadas h(k) 0 1 N /03/16 (c) Dept. Iformática - PUC-Rio 47 Referêcias Waldemar Celes, Reato Cerqueira, José Lucas Ragel, Itrodução a Estruturas de Dados, Editora Campus (2004) Capítulo 18 Tabelas de dispersão 23/03/16 (c) Dept. Iformática - PUC-Rio 48 24

Módulo 18 - Tabelas de Dispersão

Módulo 18 - Tabelas de Dispersão Estruturas de Dados Módulo 18 - Tabelas de Dispersão 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Exercícios Adicionais P3 e P4 de 2001 a 2003: http://www.inf.puc-rio.br/~inf1620/p&l/links.html 2/6/2005

Leia mais

Módulo 18 - Tabelas de Dispersão. Referências

Módulo 18 - Tabelas de Dispersão. Referências Estruturas de Dados Módulo 18 - Tabelas de Dispersão 7/6/2006 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora

Leia mais

Tabelas de Dispersão (hash tabels)

Tabelas de Dispersão (hash tabels) INF1010-3WB Estruturas de Dados Avançadas Tabelas de Dispersão (hash tabels) 13/05/2018 2010 DI, PUC-Rio Estruturas de Dados Avançadas 2010.1 1 Motivação Busca (acesso) com vetor é muito eficiente Info*

Leia mais

Transformação de Chave - Hashing

Transformação de Chave - Hashing UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de Chave (Hashing) e Gomes da Costa yandre@din.uem.br 1 Transformações de Chave, ou Tabela Hash, ou Tabelas de Dispersão; Hashing

Leia mais

Transformação de Chave. (Hashing)

Transformação de Chave. (Hashing) UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de Chave (Hashing) e Gomes da Costa yandre@din.uem.br 1 Transformações de Chave, ou Tabela Hash, ou Tabelas de Dispersão; Hashing

Leia mais

PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEI) Uiversidade da Beira Iterior, Departameto de Iformática Hugo Pedro Proeça, 2016/2017 Resumo Alocação de Memória Estática Diãmica malloc calloc realloc free Exercícios Gestão

Leia mais

Implementação de Planilha de Cálculos Simplificada

Implementação de Planilha de Cálculos Simplificada INF 1620 Estruturas de Dados Semestre 08.2 Primeiro Trabalho Implemetação de Plailha de Cálculos Simplificada Uma plailha de cálculos é um programa muito utilizado em aplicações fiaceiras e aquelas que,

Leia mais

Programação de Computadores II. Recursividade

Programação de Computadores II. Recursividade Programação de Computadores II Recursividade Livro: Waldemar Celes, Reato Cerqueira, José Lucas Ragel. Itrodução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos origiais dos pros.: Marco

Leia mais

INF 1620 P3-02/07/02 Questão 1 Nome:

INF 1620 P3-02/07/02 Questão 1 Nome: INF 1620 P3-02/07/02 Questão 1 Considere um arquivo texto que contém os nomes e as notas dos alunos de uma disciplina. As informações de cada aluno ocupam duas linhas do arquivo: a primeira linha contém

Leia mais

Introdução à Computação

Introdução à Computação Itrodução à Computação Recursividade Aula de hoje Recursividade Fução orial Voto de cofiaça recursivo Fução de Fiboacci Desvatages Professor: Adré de Carvalho Recursão Muitas estratégias de programação

Leia mais

Sumário. 2 Índice Remissivo 19

Sumário. 2 Índice Remissivo 19 i Sumário 1 Estatística Descritiva 1 1.1 Coceitos Básicos.................................... 1 1.1.1 Defiições importates............................. 1 1.2 Tabelas Estatísticas...................................

Leia mais

ORDENAÇÃO 1. ORDENAÇÃO POR TROCA

ORDENAÇÃO 1. ORDENAÇÃO POR TROCA ORDENAÇÃO Ordear é o processo de orgaizar uma lista de iformações similares em ordem crescete ou decrescete. Especificamete, dada uma lista de ites r[0], r[], r[],..., r[-], cada item a lista é chamado

Leia mais

Hashing (Tabela de Dispersão)

Hashing (Tabela de Dispersão) Hashing (Tabela de Dispersão) Prof. Marcos Alves 2009-B Roteiro Contextualização Conceitos Básicos Hashing (método de pesquisa) Hashing Perfeito Hashing Imperfeito Colisões Métodos de Tratamento de Colisões

Leia mais

ANÁLISE DE COMPLEXIDADE DE ALGORITMOS

ANÁLISE DE COMPLEXIDADE DE ALGORITMOS 1 FEUP/LEEC Algoritmos e Estruturas de Dados 2001/2002 ANÁLISE DE COMPLEXIDADE DE ALGORITMOS João Pascoal Faria http://www.fe.up.pt/~jpf 2 Itrodução Algoritmo: cojuto claramete especificado de istruções

Leia mais

INF 1620 P3-29/06/04 Questão 1 Nome:

INF 1620 P3-29/06/04 Questão 1 Nome: INF 1620 P3-29/06/04 Questão 1 Considere um arquivo texto que descreve um conjunto de retângulos e círculos. Cada linha do arquivo contém a descrição de uma figura. O primeiro caractere da linha indica

Leia mais

1. ORDENAÇÃO POR TROCA ORDENAÇÃO. 1.1 Ordenação por Bolha. Exemplo, 25, 57, 48, 37, 12, 92, 86, 33. Algoritmo. Complexidade de Tempo

1. ORDENAÇÃO POR TROCA ORDENAÇÃO. 1.1 Ordenação por Bolha. Exemplo, 25, 57, 48, 37, 12, 92, 86, 33. Algoritmo. Complexidade de Tempo ORDENAÇÃO Ordear é o processo de orgaizar uma lista de iformações similares em ordem crescete ou decrescete. Especificamete, dada uma lista de ites r[], r[], r[],, r[-], cada item a lista é chamado registro.

Leia mais

Organização de Arquivos

Organização de Arquivos Orgaização de Arquivos Cristia D. A. Ciferri Thiago A. S. Pardo Leadro C. Citra M.C.F. de Oliveira Moacir Poti Jr. Por que Orgaizar Arquivos? Cosidere o seguite stream (fluxo) de bytes AmesJoh123 MapleStillwaterOK74075MasoAla90

Leia mais

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEII) Uiversidade da Beira Iterior, Departameto de Iformática Hugo Pedro Proeça, 2016/2017 Resumo Ordeação e Pesquisa Pesquisa Liear Pesquisa Biária Iserção Ordeada IsertSort

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacioais Sistema de Arquivos Edeyso Adrade Gomes www.edeyso.com.br Sistema de Arquivos w Mecaismo que provê armazeameto e acesso a dados e programas do Sistema Operacioal e do usuário; w Aspecto

Leia mais

Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes.

Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes. Sistemas Operacioais Gerêcia de Memória Edeyso Adrade Gomes www.edeyso.com.br Roteiro da Aula w Gerêcia de Memória Metas Algoritmos Sistemas Operacioais - Itrodução Edeyso A. Gomes 2 Gerêcia de Memória

Leia mais

Fontes Bibliográficas. Estruturas de Dados Aula 14: Recursão. Introdução. Introdução (cont.)

Fontes Bibliográficas. Estruturas de Dados Aula 14: Recursão. Introdução. Introdução (cont.) Fotes Bibliográficas Estruturas de Dados Aula 14: Recursão Livros: Projeto de Algoritmos (Nivio Ziviai): Capítulo 2; Estruturas de Dados e seus Algoritmos (Szwarefiter, et. al): Capítulo 1; Algorithms

Leia mais

Estruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1

Estruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 17 - Busca 2/6/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 mais

PROF. DR. JACQUES FACON

PROF. DR. JACQUES FACON 1 PUCPR- Potifícia Uiversidade Católica Do Paraá PPGIA- Programa de Pós-Graduação Em Iformática Aplicada PROF. DR. JACQUES FACON LIMIARIZAÇÃO POR MATRIZ DE CO-OCORRÊNCIA Resumo: O método da matriz de co-ocorrêcia,

Leia mais

Introdução a Complexidade de Algoritmos

Introdução a Complexidade de Algoritmos Itrodução a Complexidade de Algoritmos Estruturas de Dados Prof. Vilso Heck Juior Apresetação Revisão - O Algoritmo; A Complexidade; Exercício. Complexidade de Algoritmos REVISÃO - O ALGORITMO O Algoritmo

Leia mais

ESTRUTURA DE DADOS E ALGORITMOS. Hashing (Tabela de Dispersão) Cristina Boeres

ESTRUTURA DE DADOS E ALGORITMOS. Hashing (Tabela de Dispersão) Cristina Boeres ESTRUTURA DE DADOS E ALGORITMOS Hashing (Tabela de Dispersão) Cristina Boeres Motivação! Os métodos de pesquisa vistos até agora buscam informações armazenadas com base na comparação de suas chaves! Para

Leia mais

Ordenação (Parte 1) Prof. Túlio Toffolo BCC202 Aula 13 Algoritmos e Estruturas de Dados I

Ordenação (Parte 1) Prof. Túlio Toffolo  BCC202 Aula 13 Algoritmos e Estruturas de Dados I Ordeação (Parte 1) Prof. Túlio Toffolo http://www.toffolo.com.br BCC0 Aula 13 Algoritmos e Estruturas de Dados I Critério de Ordeação Ordea-se de acordo com uma chave: typedef it TChave; typedef struct

Leia mais

Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos

Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos Aálise de Algoritmos Aálise de Algoritmos Prof Dr José Augusto Baraauskas DFM-FFCLRP-USP A Aálise de Algoritmos é um campo da Ciêcia da Computação que tem como objetivo o etedimeto da complexidade dos

Leia mais

Busca binária. Busca em arquivos. Busca binária. Busca binária. Ordenação e busca em arquivos

Busca binária. Busca em arquivos. Busca binária. Busca binária. Ordenação e busca em arquivos Algoritmos e Estruturas de Dados II Profa. Debora Medeiros Ordeação e Busca em Arquivos Idexação de Arquivos I: Ídices Simples Ordeação e busca em arquivos É relativamete fácil buscar elemetos em cojutos

Leia mais

Módulo 16 - Ordenação

Módulo 16 - Ordenação Estruturas de Dados Módulo 16 - Ordenação 15/05/2013 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus

Leia mais

Herança e passagem de parâmetro AULA 09

Herança e passagem de parâmetro AULA 09 Itrodução a Programação IF669 http://www.ci.ufpe.br/~if669 Heraça e passagem de parâmetro AULA 09 Ricardo Massa F. Lima rmfl@ci.ufpe.br Sérgio C. B. Soares scbs@ci.ufpe.br Itrodução Imagie que temos uma

Leia mais

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Aálise de Algoritmos e Complexidade Estrutural Carlos Alberto Aloso Saches CT-234 3) Estruturas de dados elemetares Filas, pilhas e árvores Alocação estática versus diâmica

Leia mais

Estruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1

Estruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 15 - Arquivos 2/6/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 mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Arquivos Funções para abrir e fechar arquivos Arquivos em modo texto Arquivos em modo binário ATENÇÃO

Leia mais

Obtemos, então, uma amostra aleatória de tamanho n de X, que representamos por X 1, X 2,..., X n.

Obtemos, então, uma amostra aleatória de tamanho n de X, que representamos por X 1, X 2,..., X n. Vamos observar elemetos, extraídos ao acaso e com reposição da população; Para cada elemeto selecioado, observamos o valor da variável X de iteresse. Obtemos, etão, uma amostra aleatória de tamaho de X,

Leia mais

Representação de Números em Ponto Flutuante

Representação de Números em Ponto Flutuante Represetação de Números em Poto Flutuate OBS: Esta aula é uma reprodução, sob a forma de slides, da aula em vídeo dispoibilizada pelo prof. Rex Medeiros, da UFRN/ECT, em https://youtu.be/ovuymcpkoc Notação

Leia mais

Módulo 7 Cadeias de Caracteres

Módulo 7 Cadeias de Caracteres Estruturas de Dados Módulo 7 Cadeias de Caracteres 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

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Tópicos Listas Encadeadas Introdução às listas encadeadas Manipulação de elementos Implementações recursivas Listas

Leia mais

MAC122 Princípios de Desenvolvimento de Algoritmos - BM,BMA

MAC122 Princípios de Desenvolvimento de Algoritmos - BM,BMA DCC IME USP Routo Terada Sala 208-C Tel.: 09 598 e-mail rt@ime.usp.br MAC22 Pricípios de Desevolvimeto de Algoritmos - BM,BMA Segudo Semestre de 20 Exercício-Programa, Peso Observações Data de etrega:

Leia mais

Ordenação e Busca em Arquivos

Ordenação e Busca em Arquivos Ordeação e Busca em Arquivos Cristia D. A. Ciferri Thiago A. S. Pardo Leadro C. Citra M.C.F. de Oliveira Moacir Poti Jr. Ordeação Facilita a busca Pode ajudar a dimiuir o úmero de acessos a disco Busca

Leia mais

; 2N 2N.! " j %.(1 & q)2 N & j.q j. j!(2n & j)!

; 2N 2N.!  j %.(1 & q)2 N & j.q j. j!(2n & j)! DERIVA GENÉTICA Seja uma população de tamaho fiito N, costate ao logo das gerações; sejam aida p e q as freqüêcias dos alelos A e a de um loco autossômico a geração ; como o tamaho da população é costate,

Leia mais

Estudando complexidade de algoritmos

Estudando complexidade de algoritmos Estudado complexidade de algoritmos Dailo de Oliveira Domigos wwwdadomicombr Notas de aula de Estrutura de Dados e Aálise de Algoritmos (Professor Adré Bala, mestrado UFABC) Durate os estudos de complexidade

Leia mais

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Aálise de Algoritmos e Complexidade Estrutural Carlos Alberto Aloso Saches CT-234 5) Ordeação Resoluções simples, Lower boud, MergeSort, RadixSort Algus algoritmos de ordeação

Leia mais

Ordenação. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Ordenação. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Ordeação David Meotti Algoritmos e Estruturas de Dados II DIf UFPR Critério de Ordeação Ordea-se de acordo com uma chave: typedef it ChaveTipo; typedef struct ChaveTipo Chave; /* outros compoetes */ Item;

Leia mais

Distribuições Amostrais

Distribuições Amostrais Distribuições Amostrais O problema da iferêcia estatística: fazer uma afirmação sobre os parâmetros da população θ (média, variâcia, etc) através da amostra. Usaremos uma AAS de elemetos sorteados dessa

Leia mais

Introdução. Objetivo da Ciência da Computação. Regra Geral. Nenhuma implementação excelente salva um Algoritmo inadequado.

Introdução. Objetivo da Ciência da Computação. Regra Geral. Nenhuma implementação excelente salva um Algoritmo inadequado. Itrodução Problema Algoritmo Implemetação Problema Uiversidade Federal de Ouro Preto Departameto de Computação Algoritmo 1 Algoritmo Algoritmo Projeto e Aálise de Algoritmos - I Implemetação C Implemetação

Leia mais

Mineração de Dados em Biologia Molecular

Mineração de Dados em Biologia Molecular Mieração de Dados em Biologia Molecular Tópicos Adré C. P. L. F. de Carvalho Moitor: Valéria Carvalho Preparação de dados Dados Caracterização de dados Istâcias e Atributos Tipos de Dados Exploração de

Leia mais

Ordenação por Troca. Bubblesort Quicksort

Ordenação por Troca. Bubblesort Quicksort Ordeação por roca Bubblesort Quicksort ORDENAÇÃO Ordear é o processo de orgaizar uma lista de iformações similares em ordem crescete ou decrescete. Especificamete, dada uma lista de ites r[0], r[], r[2],...,

Leia mais

Quicksort. Algoritmos e Estruturas de Dados II

Quicksort. Algoritmos e Estruturas de Dados II Quicksort Algoritmos e Estruturas de Dados II História Proposto por Hoare em 960 e publicado em 962 É o algoritmo de ordeação itera mais rápido que se cohece para uma ampla variedade de situações Provavelmete

Leia mais

Programação de Computadores II. Cap. 16 Ordenação

Programação de Computadores II. Cap. 16 Ordenação Programação de Computadores II Cap. 16 Ordenação Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:

Leia mais

ESTATÍSTICA E PROBABILIDADES

ESTATÍSTICA E PROBABILIDADES ESTATÍSTICA E PROBABILIDADES Aluo(a): Turma: Professores: Data: Edu/Vicete Noções de Estatística Podemos eteder a Estatística como sedo o método de estudo de comportameto coletivo, cujas coclusões são

Leia mais

Séquências e Séries Infinitas de Termos Constantes

Séquências e Séries Infinitas de Termos Constantes Capítulo Séquêcias e Séries Ifiitas de Termos Costates.. Itrodução Neste capítulo estamos iteressados em aalisar as séries ifiitas de termos costates. Etretato, para eteder as séries ifiitas devemos ates

Leia mais

INF 1620 P3-27/11/04 Questão 1 Nome:

INF 1620 P3-27/11/04 Questão 1 Nome: INF 1620 P3-27/11/04 Questão 1 Considere um arquivo texto com as notas dos alunos de uma disciplina. Os dados de cada aluno são armazenados em duas linhas do arquivo: uma com o seu nome (cadeia com até

Leia mais

Processamento Digital de Sinais Lista de Exercícios Suplementares 2-1 semestre 2012

Processamento Digital de Sinais Lista de Exercícios Suplementares 2-1 semestre 2012 Processameto Digital de Siais Lista de Exercícios Suplemetares - semestre 0 (07 (PROAKIS; MANOLAKIS, 996, p 370 Calcule a trasformada de Fourier de tempo discreto dos seguites siais: (a x u u 6 (b x u

Leia mais

Complexidade de Algoritmos Aula 5

Complexidade de Algoritmos Aula 5 Complexidade de Algoritmos Aula 5 Potecia (a: real, : iteiro: real; p: real; iicio 1. se = 0 etão retora ( 1 ; 2. se ( mod 2 = 1 etão 3. p Potecia( a, ( 1/2 ; 4. retora( a*p*p ; 5. seão p Potecia( a, /2

Leia mais

Computação Eletrônica

Computação Eletrônica Computação Eletrôica (1 Giga Byte) Processador (Itel Petium) Disco ou HD (100 Giga Bytes) Por que temos 2 memórias? HD: permaete (pode desligar o computador), barato e leto O HD é represetado por um cilidro

Leia mais

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2007.

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2007. Ageda Aálise e Técicas de Algoritmos Motivação para aálise de de algoritmos Aálise assitótica Algus exemplos simples Jorge Figueiredo Aálise de de Algoritmos Dois aspectos importates: Um problema pode,

Leia mais

Cap. 4 - Estimação por Intervalo

Cap. 4 - Estimação por Intervalo Cap. 4 - Estimação por Itervalo Amostragem e iferêcia estatística População: cosiste a totalidade das observações em que estamos iteressados. Nº de observações a população é deomiado tamaho=n. Amostra:

Leia mais

Capítulo I Séries Numéricas

Capítulo I Séries Numéricas Capítulo I Séries Numéricas Capitulo I Séries. SÉRIES NÚMERICAS DEFINIÇÃO Sedo u, u,..., u,... uma sucessão umérica, chama-se série umérica de termo geral u à epressão que habitualmete se escreve u u...

Leia mais

Dessa forma, concluímos que n deve ser ímpar e, como 120 é par, então essa sequência não possui termo central.

Dessa forma, concluímos que n deve ser ímpar e, como 120 é par, então essa sequência não possui termo central. Resoluções das atividades adicioais Capítulo Grupo A. a) a 9, a 7, a 8, a e a 79. b) a, a, a, a e a.. a) a, a, a, a 8 e a 6. 9 b) a, a 6, a, a 9 e a.. Se a 9 e a k são equidistates dos extremos, etão existe

Leia mais

Problemas Sobre Correlacionamento

Problemas Sobre Correlacionamento Capítulo 2 Problemas Sobre Correlacioameto Se caiu, levate e ade como se uca tivesse caído, cosiderado que, a cada vez que você se esforça e se levata de uma queda, suas peras se fortalecem. 2.1. Problemas

Leia mais

Fundamentos de Análise Matemática Profª Ana Paula. Sequência Infinitas

Fundamentos de Análise Matemática Profª Ana Paula. Sequência Infinitas Fudametos de Aálise Matemática Profª Aa Paula Sequêcia Ifiitas Defiição 1: Uma sequêcia umérica a 1, a 2, a 3,,a,é uma fução, defiida o cojuto dos úmeros aturais : f : f a Notação: O úmero é chamado de

Leia mais

MEDIDAS DE TENDÊNCIA CENTRAL E MEDIDAS DE DISPERSÃO Í N D I C E

MEDIDAS DE TENDÊNCIA CENTRAL E MEDIDAS DE DISPERSÃO Í N D I C E MEDIDAS DE TENDÊNCIA CENTRAL E MEDIDAS DE DISPERSÃO Í N D I C E Medidas de Tedêcia Cetral Itrodução... 1- Média Aritmética... - Moda... 3- Mediaa... Medidas de Dispersão 4- Amplitude Total... 5- Variâcia

Leia mais

Sumário. 2 Índice Remissivo 17

Sumário. 2 Índice Remissivo 17 i Sumário 1 Itrodução à Iferêcia Estatística 1 1.1 Defiições Básicas................................... 1 1.2 Amostragem....................................... 2 1.2.1 Tipos de Amostragem.............................

Leia mais

Stela Adami Vayego DEST/UFPR

Stela Adami Vayego DEST/UFPR Resumo 3 Resumo dos dados uméricos por meio de úmeros 1. Medidas de Tedêcia Cetral A tedêcia cetral da distribuição de freqüêcias de uma variável em um cojuto de dados é caracterizada pelo valor típico

Leia mais

16/10/2017. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

16/10/2017. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados Baco de Dados Gereciameto de Arquivos Sistema Gereciador de Baco de Dados Modelos de Dados Gereciameto de Arquivos Gereciameto de Arquivos 1 Gereciameto de Arquivos Em uma empresa existem 3 departametos:

Leia mais

Universidade Federal de Lavras Departamento de Estatística Prof. Daniel Furtado Ferreira 1 a Aula Prática Técnicas de somatório

Universidade Federal de Lavras Departamento de Estatística Prof. Daniel Furtado Ferreira 1 a Aula Prática Técnicas de somatório Uiversidade Federal de Lavras Departameto de Estatística Prof. Daiel Furtado Ferreira 1 a Aula Prática Técicas de somatório Notação e propriedades: 1) Variáveis e ídices: o símbolo x j (leia x ídice j)

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 08 Vetor de Ponteiros Edirlei Soares de Lima Vetor de Cadeia de Caracteres Um vetor de cadeia de caracteres pode ser alocado de duas formas: Alocação

Leia mais

INF1007: Programação 2 8 Listas Encadeadas. (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2 8 Listas Encadeadas. (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 8 Listas Encadeadas (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Motivação Listas encadeadas Implementações recursivas Listas de tipos estruturados (c) Dept. Informática

Leia mais

08/10/2018. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

08/10/2018. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados Baco de Dados Gereciameto de Arquivos Sistema Gereciador de Baco de Dados Modelos de Dados Gereciameto de Arquivos Gereciameto de Arquivos 1 Gereciameto de Arquivos Em uma empresa existem 3 departametos:

Leia mais

Estruturas 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 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 mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 07 Vetor de Ponteiros Edirlei Soares de Lima Vetor de Cadeia de Caracteres Vetores de cadeias de caracteres. Exemplo: char alunos[50][81]; Função para

Leia mais

Modelagem Lógica Verificar Requisitos. 2. Obter o modelo conceitual. 3. Definir a abordagem de banco de dados a ser

Modelagem Lógica Verificar Requisitos. 2. Obter o modelo conceitual. 3. Definir a abordagem de banco de dados a ser Modelagem Coceitual: preocupação: correta abstração do mudo real (captura correta da semâtica da aplicação) Modelagem Lógica + Física: preocupação: escolhas corretas a coversão para o esquema do SGBD (relacioal)

Leia mais

Sequências Reais. Departamento de Matemática - UEL Ulysses Sodré. 1 Sequências de números reais 1

Sequências Reais. Departamento de Matemática - UEL Ulysses Sodré.  1 Sequências de números reais 1 Matemática Essecial Sequêcias Reais Departameto de Matemática - UEL - 200 Ulysses Sodré http://www.mat.uel.br/matessecial/ Coteúdo Sequêcias de úmeros reais 2 Médias usuais 6 3 Médias versus progressões

Leia mais

Intervalos de Confiança

Intervalos de Confiança Itervalos de Cofiaça Prof. Adriao Medoça Souza, Dr. Departameto de Estatística - PPGEMQ / PPGEP - UFSM - 0/9/008 Estimação de Parâmetros O objetivo da Estatística é a realização de iferêcias acerca de

Leia mais

i a[i]

i a[i] Técnicas de Hashing Outra forma de se fazer busca em uma tabela, é construir-se a tabela de forma a facilitar a busca, colocando-se cada elemento numa posição pré-determinada. Tal posição é obtida aplicando-se

Leia mais

INF1007 Programação 2 9 Pilhas. (c) Dept. Informática - PUC-Rio 1

INF1007 Programação 2 9 Pilhas. (c) Dept. Informática - PUC-Rio 1 INF1007 Programação 2 9 Pilhas (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Interface do tipo pilha Exemplo de uso: verificação de expressões Implementação de pilha com lista encadeada

Leia mais

ESTIMAÇÃO DA PROPORÇÃO POPULACIONAL p

ESTIMAÇÃO DA PROPORÇÃO POPULACIONAL p ESTIMAÇÃO DA PROPORÇÃO POPULACIONAL p Objetivo Estimar uma proporção p (descohecida) de elemetos em uma população, apresetado certa característica de iteresse, a partir da iformação forecida por uma amostra.

Leia mais

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Aálise de Algoritmos e Complexidade Estrutural Carlos Alberto Aloso Saches CT-234 4) Árvores balaceadas AVL, Rubro-Negras, B-Trees Operações em árvores biárias de busca Numa

Leia mais

Estimação da média populacional

Estimação da média populacional Estimação da média populacioal 1 MÉTODO ESTATÍSTICO Aálise Descritiva Teoria das Probabilidades Iferêcia Os dados efetivamete observados parecem mostrar que...? Se a distribuição dos dados seguir uma certa

Leia mais

Arquivo de Índice (Revisão) Indexação de Arquivos II: Arquivos de Índice Grandes. Arquivos de Índice Grandes

Arquivo de Índice (Revisão) Indexação de Arquivos II: Arquivos de Índice Grandes. Arquivos de Índice Grandes Algoritmos e Estruturas de Dados II Prof. Debora Medeiros Arquivo de Ídice (Revisão) Idexação de Arquivos II: Exemplo Prático (Arquivo de Músicas) Ídices Simples Grades & Idexação Secudária Adaptado e

Leia mais

Definição 1: Sequência é uma lista infinita de números reais ordenados.

Definição 1: Sequência é uma lista infinita de números reais ordenados. Cálculo I Egeharia Mecâica. Sequêcias Defiição : Sequêcia é uma lista ifiita de úmeros reais ordeados. 2º termo º termo Nome (x ) = (x, x 2, x,..., x,...) º termo º termo N R x Observação: Podemos pesar

Leia mais

Módulo 10 Listas Encadeadas

Módulo 10 Listas Encadeadas Estruturas de Dados Módulo 10 Listas Encadeadas 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

Leia mais

Banco de Dados I Parte II: Abordagem Entidade-Relacionamento

Banco de Dados I Parte II: Abordagem Entidade-Relacionamento Baco de Dados I Parte II: Abordagem Etidade-Relacioameto Prof. Gregorio Perez ( gregorio@uiove.br ) Colaboração: profa. Aa Leda prof. Adré Satos prof. José Ferreira Prata Roteiro Itrodução Etidade Relacioameto

Leia mais

Estatística: Aplicação ao Sensoriamento Remoto SER ANO Teoria da amostragem

Estatística: Aplicação ao Sensoriamento Remoto SER ANO Teoria da amostragem Estatística: Aplicação ao Sesoriameto Remoto SER 04 - ANO 017 Teoria da amostragem Camilo Daleles Reó camilo@dpi.ipe.br http://www.dpi.ipe.br/~camilo/estatistica/ Algumas Cosiderações... É importate ter

Leia mais

Compactação e Reuso de Espaço

Compactação e Reuso de Espaço Compactação e Reuso de Espaço Cristia D. A. Ciferri Thiago A. S. Pardo Leadro C. Citra M.C.F. de Oliveira Moacir Poti Jr. Maipulação de Dados Operações básicas adição de registros relativamete simples

Leia mais

Módulo 8 Tipos Estruturados

Módulo 8 Tipos Estruturados Estruturas de Dados Módulo 8 Tipos Estruturados 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

Leia mais

SEEC UNIVERSIDADE DO ESTADO DO RIO GRANDE DO NORTE UERN FACULDADE DE CIÊNCIAS EXATAS E NATURAIS FANAT DEPARTAMENTO DE CIÊNCIAS BIOLÓGICAS DECB

SEEC UNIVERSIDADE DO ESTADO DO RIO GRANDE DO NORTE UERN FACULDADE DE CIÊNCIAS EXATAS E NATURAIS FANAT DEPARTAMENTO DE CIÊNCIAS BIOLÓGICAS DECB Govero do Estado do Rio Grade do Norte Secretaria de Estado da Educação e da Cultura - SEEC UNIVERSIDADE DO ESTADO DO RIO GRANDE DO NORTE UERN FACULDADE DE CIÊNCIAS EXATAS E NATURAIS FANAT DEPARTAMENTO

Leia mais

O teste de McNemar. A tabela 2x2. Depois - Antes

O teste de McNemar. A tabela 2x2. Depois - Antes Prof. Lorí Viali, Dr. http://www.pucrs.br/famat/viali/ viali@pucrs.br O teste de McNemar O teste de McNemar para a sigificâcia de mudaças é particularmete aplicável aos experimetos do tipo "ates e depois"

Leia mais

Sequências, PA e PG material teórico

Sequências, PA e PG material teórico Sequêcias, PA e PG material teórico 1 SEQUÊNCIA ou SUCESSÃO: é todo cojuto ode cosideramos os seus elemetos colocados, ou dispostos, uma certa ordem. Cosiderado a sequêcia (; 3; 5; 7;...), dizemos que:

Leia mais

INF1007: Programação 2. 4 Tipos Estruturados. 10/23/09 (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2. 4 Tipos Estruturados. 10/23/09 (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 4 Tipos Estruturados 10/23/09 (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Tipo estrutura Definição de novos tipos Aninhamento de estruturas Vetores de estruturas Vetores

Leia mais

PTC 2549 SISTEMAS TELEFÔNICOS

PTC 2549 SISTEMAS TELEFÔNICOS PTC 9 SISTMS TLFÔICOS GBRITO D PRIMIR LIST D RCÍCIOS /3/ Questão ) s ecessidades de comuicação etre duas localidades e B são de. e 3. chamadas por dia, para os setidos B e B respectivamete, com uma duração

Leia mais

Programação de Computadores II. Cap. 7 Cadeias de Caracteres

Programação de Computadores II. Cap. 7 Cadeias de Caracteres Programação de Computadores II Cap. 7 Cadeias de Caracteres Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais

Leia mais

Prova Parcial 1 Matemática Discreta para Computação Aluno(a): Data: 18/12/2012

Prova Parcial 1 Matemática Discreta para Computação Aluno(a): Data: 18/12/2012 Prova Parcial Aluo(a): Data: 8/2/202. (,5p) Use regras de iferêcia para provar que os argumetos são válidos. (usar os símbolos proposicioais idicados): A Rússia era uma potêcia superior, e ou a Fraça ão

Leia mais

O termo "linear" significa que todas as funções definidas no modelo matemático que descreve o problema devem ser lineares, isto é, se f( x1,x2

O termo linear significa que todas as funções definidas no modelo matemático que descreve o problema devem ser lineares, isto é, se f( x1,x2 MÓDULO 4 - PROBLEMAS DE TRANSPORTE Baseado em Novaes, Atôio Galvão, Métodos de Otimização: aplicações aos trasportes. Edgar Blücher, São Paulo, 978..CONCEITOS BÁSICOS DE PROGRAMAÇÃO LINEAR É uma técica

Leia mais

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT34 Estruturas de Dados, Aálise de Aoritmos e Complexidade Estrutural Carlos Alberto Aloso Saches CT34 6) Ordeação HeapSort, QuicSort, Rede Bitôica A estrutura heap Heap é uma árvore biária com duas propriedades:

Leia mais

Teorema do limite central e es/mação da proporção populacional p

Teorema do limite central e es/mação da proporção populacional p Teorema do limite cetral e es/mação da proporção populacioal p 1 RESULTADO 1: Relembrado resultados importates Seja uma amostra aleatória de tamaho de uma variável aleatória X, com média µ e variâcia σ.temos

Leia mais

INF 1620 P4 30/06/07 Questão 1 Nome:

INF 1620 P4 30/06/07 Questão 1 Nome: INF 1620 P4 30/06/07 Questão 1 O maior divisor comum (MDC) de dois números inteiros é o maior número inteiro que faz uma divisão exata (com resto zero) desses dois números. Por exemplo, o MDC de 32 e 40

Leia mais

Estimar uma proporção p (desconhecida) de elementos em uma população, apresentando certa característica de interesse, a partir da informação

Estimar uma proporção p (desconhecida) de elementos em uma população, apresentando certa característica de interesse, a partir da informação ESTIMAÇÃO DA PROPORÇÃO POPULACIONAL p 1 Objetivo Estimar uma proporção p (descohecida) de elemetos em uma população, apresetado certa característica de iteresse, a partir da iformação forecida por uma

Leia mais

INF 1620 P2-01/11/03 Questão 1 Nome:

INF 1620 P2-01/11/03 Questão 1 Nome: INF 1620 P2-01/11/03 Questão 1 Considere a implementação de uma lista encadeada para armazenar as notas dos alunos de uma turma dada pelo tipo abaixo: struct lista { char nome[81]; int mat; float p1, p2,

Leia mais