Aula 22 && Revisão geral
|
|
- Pedro Lucas Weber Caiado
- 7 Há anos
- Visualizações:
Transcrição
1 MC3305 Algoritmos e Estruturas de Dados II Aula 22 && Revisão geral Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q
2 Medida de custo/complexidade de um algoritmo 2
3 (1) medida de custo pela execução de um programa em uma plataforma real Tais medidas são bastante inadequadas e os resultados jamais devem ser generalizados: Os resultados são dependentes do compilador que pode favorecer algumas construções em detrimento de outras; Os resultados dependem de hardware; Quanto grandes quantidades de memória são utilizadas, as medidas de tempo podem depender deste aspecto. 3
4 (1) medida de custo pela execução de um programa em uma plataforma real Apesar disso, há argumentos a favor de se obterem medidas reais de tempo: Exemplo: Quando há vários algoritmos distintos para resolver o problema; Assim, são considerados tanto os custos reais das operações como os custos não aparentes, tais como alocação de memória, indexação, carga, dentre outros. 4
5 (2) medida de custo por meio de um modelo matemático Usa um modelo matemático baseado em um computador idealizado. Deve ser especificado o conjunto de operações e seus custos de execuções. É mais usual ignorar o custo de algumas das operações e considerar apenas as mais significantes. Em algoritmos de ordenação: Consideramos o conjunto de comparações entre os elementos do conjunto a ser ordenado e ignoramos as operações aritméticas, de atribuição e manipulação de índices, caso existam. 5
6 Função de complexidade Para medir o custo de execução de um algoritmo, é comum definir uma função de custo ou função de complexidade f. Função de complexidade de tempo: mede o tempo necessário para executar um algoritmo para um problema de tamanho n. Função de complexidade de espaço: mede a memória necessária para executar um algoritmo para um problema de tamanho n. Utilizaremos f para denotar uma função de complexidade de tempo daqui para frente. Na realidade, f não representa tempo diretamente, mas o número de vezes que determinada operação (considerada relevante) é realizada. 6
7 Melhor caso, pior caso e caso médio Melhor caso: Menor tempo de execução sobre todas as entradas de tamanho n. Pior caso: Maior tempo de execução sobre todas as entradas de tamanho n. Caso médio (caso esperado): Média dos tempos de execução de todas as entradas de tamanho n. Aqui supoe-se uma distribuição de probabilidades sobre o conjunto de entradas de tamanho n. 7
8 Comparação de programas Estudamos o comportamento assintótico das funções de custo (comportamento de suas funções de custo para valores grande de n). O comportamento assintótico de f(n) representa o limite do comportamento de custo, quando n cresce. 8
9 Comparação de programas: exemplo O programa1 leva O programa2 leva vezes para ser executado. vezes para ser executa. Qual dos dois é o melhor? Depende do tamanho do problema. Para n<50, o programa 2 é melhor Para n>50, o programa 1 é melhor 9
10 Comparação de programas Se uma função não é O(f(n)) isso implica que a função seja Omega(f(n))? 10
11 11
12 Tratabilidade do problema Um problema é considerado Intratável (difícil): Se ele é tão difícil que não se conhece um algoritmo polinomial para resolvê-lo Ex. Algoritmo do caixeiro viajante Tratável / bem resolvido (fácil): Se existe um algoritmo polinomial para resolvê-lo. Ex. Algoritmo de multiplicação de matrizes. Algoritmo de Strassen 12
13 Questão importante 13
14 Questão importante 14
15 Recursividade 15
16 Recursividade Uma função recursiva é aquela que se chama a si mesma (obrigatoriamente)? 16
17 Recursividade Uma função recursiva não necessariamente é aquela que se chama a si mesma 17
18 Ordenação 18
19 Ordenação Os métodos de ordenação são classificados em 2 grandes grupos: Ordenação Interna: Se o arquivo a ser ordenado cabe todo na memória principal Ordenação Externa: Se o arquivo a ser ordenado não cabe todo na memória principal 19
20 Ordenação 20
21 Ordenação Os métodos de ordenação são classificados em 2 grandes grupos: Ordenação Interna: Se o arquivo a ser ordenado cabe todo na memória principal Algoritmos Baseados em Comparações Algoritmos Não Baseados em Comparações 21
22 Ordenação Algoritmos basedos em Comparações Insertion sort Selection sort Bubble sort Merge sort Quick sort Complexidade computacional [limite matemático] [limite assintótico para a ordenação] 22
23 Ordenação Algoritmos basedo em Comparações Insertion sort Selection sort Bubble sort Merge sort Quick sort Algoritmos não baseados em Comparações (utilizam alguma informação sobre os dados) Counting sort Radix sort Bin sort / Bucket sort Algoritmos que fazem a ordenação em tempo linear 23
24 Ordenação 24
25 Ordenação (bogosort.c) 25
26 Ordenação parcial 26
27 Ordenação parcial Os algoritmos de Ord. Parcial que estudamos: Seleção parcial Inserção parcial Heapsort parcial Quicksort parcial (implementado muito bem por vocês!) 27
28 Seleção parcial Um dos algoritmos mais simples. Principio de funcionamento: Selecione o menor item do vetor. Troque-o com o item que está na primeira posição do vetor. Repita estas duas operações com os itens: n-1, n-2, n-3,, n-(k-1), n-k k=7 Animação: 28
29 Comparação entre algoritmos 29
30 Heurísticas de pesquisa Procedimento simplificador (embora não simplista) 30
31 Heurísticas proposta por Rivest Move To Front (MTF) para listas: Elemento vai para a primeira posição. Transposição (T) para vetores: Elemento vai para a uma posição mais perto do início. 31
32 Heurísticas proposta por Rivest MTF Elemento vai para a primeira posição. T Elemento vai para a uma posição mais perto do início. É possível fazer melhor que MTF e T? Sim Aplicar a regra apenas quando o elemento é acessado k vezes seguidas, para k=2,3, ou 4. Leva mais tempo para estabilizar, mas faz de uma melhor maneira. 32
33 Árvores 33
34 Árvores de pesquisa A árvore de pesquisa é uma estrutura muito eficiente para armazenar informação. Apropriada quando existe necessidade de considerar todos ou alguma combinação de: Acesso direto e sequencial eficientes. Facilidade de inserção e retirada de elementos. Boa taxa de utilização de memória. Utilização de memória principal e secundária. 34
35 Representação hierárquica Representação por barras Representação por parênteses 35
36 Nós e filhos Carga útil Campos que dão estrutura à árvore O nó folha (=leaf) é um nó que não tem filho algum. Se x tiver um pai, essa árvore é uma subárvore de alguma árvore maior. 36
37 Varredura Uma função recursiva que faz a varredura e-r-d de uma árvore binária r: 37
38 Varredura 38
39 Complexidade de busca em uma ABB Busca em ABB = caminho da raiz até a chave desejada (ou até a folha, caso a chave não exista) Pior caso: Maior caminho até a folha = altura da árvore Complexidade: Uma árvore binária balanceada é aquela com altura 39
40 Árvore AVL 40
41 AVL Georgy M. Adelson-Velsky Russia Evgenii Mikhailovich Landis Ucrania ( /abril/26) ( ) 41
42 AVL G.M. Adelson-Velskii y E.M. Landis An algorithm for the organization of information. Proceedings of the USSR Academy of Sciences, vol. 146, pp , 1962 AVL foi a primeira estrutura (conhecida) de árvore de altura balanceada ou altura equilibrada. 42
43 Árvores AVL 43
44 Árvores AVL: Fator de balanceamento O fator de balanceamento/equilibrio de um nó T em uma ABB é definido como: Para qualquer nó T em uma árvore AVL, o fator de balanceamento assume o valor: +1, 0, -1. O fator de balanceamento de uma folha? 44
45 Árvores AVL: Fator de balanceamento 45
46 Árvores AVL: Rotações O processo de rebalanceamento é conduzido utilizando 4 tipos de rotações LL RR LR RL 46
47 Árvores AVL Há um custo adicional para manter uma árvore balanceada, mesmo assim garantindo O(log2 n), mesmo no pior caso, para todas as operações. Em testes empíricos: Uma rotação é necessária a cada duas inserções. Uma rotação é necessária a cada cinco remoções. 47
48 Árvore Rubro-Negras 48
49 Árvore Rubro-Negra Rudolf Bayer Computer scientist 49
50 Árvore Rubro-Negra Somente em 1978, Leo Guibas e Robert Sedgewick, atribuiram a 'coloração' na árvore. A cor "vermelho" foi escolhida porque era a mais bonita produzida pela impressora laser a cores disponíveis para os autores, enquanto trabalhavam na Xerox PARC 50
51 Propriedades de Árvore Rubro-Negra As propriedades da árvore rubronegra são: 1- Todo nó da árvore ou é vermelho ou é preto 2- A raiz e as folhas (nil) são pretas 3- Se um nó é vermelho, então seus filhos são pretos 4- Para todo nó, todos os caminhos do nó até as folhas descendentes contêm o mesmo número de nós pretos. 51
52 Altura de uma Árvore Rubro-Negra As ARNs com n nós/chaves internas tem altura, no máximo, igual a 2 lg(n+1) = O(log(n)) A prova é por indução. Ver detalhes no livro de Cormen et al. 52
53 Inserção 53
54 Altura de uma Árvore Rubro-Negra Nenhum caminho é maior do que duas vezes o comprimento de qualquer outro caminho 54
55 AVL vs Rubro-Negra Altura (pior caso) AVL: 1.44 lg(n+1) ARN: 2 lg(n+1) Árvores AVL são mais rigidamente balanceadas que ARN: AVL A inserção e remoção são mais lentas. AVL A busca (recuperação) são mais rápidas. AVL: Eficiente para árvores que mudam pouco. ARN: Eficiente para árvores de mudam muito. 55
56 AVL vs Rubro-Negra 56
57 Árvores Digitais (Trie) 57
58 TRIE originado de 'Information retrieval' TRIE = digital tree = radix tree = prefix tree 58
59 Árvores digitais (Árvore de prefixos) Palavras/Chaves: A to tea ted ten inn 59
60 Árvores TRIE A busca se inicia na raiz. As busca continua com a subárvore associado ao símbolo/caratere procurado até chegar a uma folha (ou nó interno) Essa estrutura permite fazer buscas eficiente de cadeias que compartilham prefixo. 60
61 Implementando uma ATRIE 61
62 Árvores P.A.T.R.I.C.I.A. acrônimo de Practical Algorithm To Retrieve Information Coded In Alphanumeric 62
63 PATRICIA 63
64 Árvores PATRICIA TRIE compactada binária. Caminhos que possuem nós com apenas 1 filho são agrupados em uma única aresta. Diferente das TRIE, não armazena informações nos nós internos, apenas contadores e ponteiros para cada subárvore descendente. Ou seja, nenhuma chave é prefixa de outra. 64
65 PATRICIA: Exemplo de representação Registro acumulativo que integra todos os nós exeto nas folhas. Indica o caractere que deve ser comparado ao caractere da chave informada. Identifica qual a posição do caratere da chave informada que deve ser analisado Similar às ABBs: Se a chave é menor ou Igual ao nó, ela é consultada à esquerda, caso contrário, à direita. 65
66 PATRICIA Vantagem Permite armazenar um número de posições para qual é movido para fentre antes de fazer a próxima comparação. [elimina comparações desnecessárias melhora o desempenho] 66
67 PATRICIA Desvantagem Considera apenas 2 subárvores. Se mais do que duas chaves são distintas na mesma posição do caratere, é necessário adicionar nós extras ao índice para separa-lo. [Se n chaves são distintas na mesma posição, então serão necessários n-1 nós para separá-los. Se muitos casos destes acontecem, é preferível utilizar TRIE] 67
68 Árvores Anos log(m) log(n) 1960 TRIE 1968 PATRICIA 1962 AVL 1972 Symmetric Binary B-Trees 1978 Red-Black 68
69 Árvores B 69
70 Artigo: R. Bayer, E. McCreight Organization and Maintenance of Large Ordered Indexes. Acta-Informatica, 1: ,
71 P D A B C D M P G I W T M N P R S W T U W 71
72 72
73 HASHING (tabelas de dispersão) 73
74 Problemas com o acesso direto As chaves nem sempre são valores numéricos: Exemplo: chaves com nomes de pessoas. Solução: Contruir uma representação numérica das chaves. Função F(chave) {0,1,...,m-1} O problema dos espaços é mais grave! Exemplo: duas chaves 0 e Acesso direto: tabela de 1milhão de buckets, sendo que somente dois seriam ocupados. Solução: o uso de tabelas de dispersão. Precisamos de um bucket para cada chave possível. 74
75 Tabelas de dispersão (Hashing) Através da aplicação de uma função conveniente (função de dispersão ou função hash), a chave é transformada em um endereço de tabela (endereço base). hash(chave) {0, 1,,m-1} Note: m, não n. O método aproveita a possíbilidade de acesso randômico a memória para alcançar uma complexidade média O(1), sendo o pior caso, entretanto, O(n) 75
76 Tabelas de dispersão/espalhamento Duas formas de tratar colisões: Endereçamento aberto. Resolução de colisões através de encadeamento. Para evitar colisões usa-se uma função Hash que apresente comportamento randômico 76
77 Custo de acesso a disco 77
78 Custo do acesso a disco O custo do acesso a disco pode ser dividido em três operações distintas Tempo de busca (seek). Atraso rotacional no disco. Tempo de transferência dos dados.
79 Custo do acesso a disco Tempo de busca (Seek time) Tempo necessário para se mover o braço de acesso para o cilindro correto. Atraso rotacional (Rotational delay) É o tempo que o disco necessita para rotacionar de forma que o setor desejado fique sob a cabeça de leitura/escrita. Tempo de transferência (Transfer time) É dado pela seguinte fórmula: Tempo de transferência = (Número de bytes transferidos / Número de bytes na trilha) x tempo de rotação.
80 Comparação memória RAM vs discos Discos Um acesso na memória RAM (Random Access Memory) tipicamente pode ser feito em 30 a 60 nanosegundos (30 x10-9 s). Obter a mesma informação no disco tipicamente leva de 7 a 10 milisegundos (7 x10-3 s). Memória RAM é cerca de 1 milhão de vezes mais rápida que o disco. Mas provêm uma capacidade maior a um preço menor. Também são capazes de reter dados quando o computador é desligado. são lentos
81 Estado-da-arte Gustavo S. Pavani 81
82 Conjuntos disjuntos 82
83 Estruturas para conjuntos disjuntos Union-Find Coleção {S1,..., Sk} de conjuntos disjuntos dinâmicos (que variam ao longo do tempo) Cada conjunto Sk é identificado por um representante, que é um membro do conjunto. Geralmente não importa quem é o representante C
84 Operações Make_Set(x): Cria um novo conjunto cujo único elemento é apontado por x. x não pode pertencer a outro conjunto da coleção. Union(x, y): Executa a união dos conjuntos que contêm x e y, digamos Sx e Sy, em um conjunto único. Sx Sy é vazio (conjuntos disjuntos). O representante de S = Sx Sy é um elemento de S. Find(x): Devolve um ponteiro para o representante (único) do conjunto que contém x. 84
85 Aplicações Algumas aplicações envolvem o agrupamento de N elementos em uma coleção de conjuntos disjuntos, ou seja, um particionamento dos elementos em conjuntos. Alguns usos Problemas de grafos E.g. árvore geradora mínima, componentes conexas Agrupamento (clustering) Envolvido em mineração de dados e reconhecimento de padrões 85
86 Heurística para floresta de conjuntos disjuntos União ponderada (union by rank): faça a raiz da árvore com menor rank (altura) apontar para a raiz da árvore com maior rank. Compressão de caminhos (path compression): durante uma busca (Find_Set) faça os nós do caminho apontar para a raiz Find_Set(a) 86
87 Na prática 87
88 Para finalizar 88
89 Tópicos interessantes Algoritmos por força bruta. Backtracking (refinamento da busca por força bruta). Algoritmos Gulosos (Greedy algorithms) Algoritmos de programação dinamica (Dynamic programming) Algoritmos Randomizados (Monte Carlo algorithms) Testes de software Códigos elegantes 89
90 Código elegante para os artesão de software Código que funciona Vs Código bonito Elegância é sinônimo de beleza. Em computação também foram associados as conotações de eficâcia e simplicidade. 90
91 Código elegante 91
92 Código elegante The book is about "topics like testing, debugging, portability, performance, design alternatives, and style," which, according to the authors, "are not usually the focus of computer science or programming courses". It treats these topics in case studies, featuring implementations in several programming languages (mostly C, but also C++, AWK, Perl, Tcl and Java). "The book fills a critical need by providing insight into pragmatic designand coding issues so that programmers become better at their craft...programmers just out of school should be given this book on their first day of work. It will save employers thousands of dollars due to lost productivity and "mindless" debugging." -- Paul McNamee, Computer Scientist, Johns Hopkins University Applied Physics Laboratory 92
93 93
94 Sobre a P2 Tópicos: Todos os tratados no quadrimestre Dia: 18/08 (com inicio -opcional- 30min antes do horário) Resumo: Pode trazer uma folha A4 contendo um resumo (feito a mao) 94
Aula 16 Árvores Patricia e Árvores B
MC3305 Algoritmos e Estruturas de Dados II Aula 16 Árvores Patricia e Árvores B Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 TRIE originado de 'Information retrieval' TRIE = digital tree
Leia maisMCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade
MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 3Q-2017 1 0 A = n-1... 2 0 A = n-1... - O programa funciona (está correto)? - Como medir/mensurar
Leia maisAlgoritmos e Estruturas de Dados I Aula 15 Árvores de busca balanceadas (e mais...)
Algoritmos e Estruturas de Dados I Aula 15 Árvores de busca balanceadas (e mais) Prof. Jesús P. Mena-Chalco Q1-2019 1 Árvores de Busca Binária Por que ABBs? São estruturas eficientes de busca (se a árvore
Leia maisAula 13 Árvores Rubro-Negras
MC3305 Algoritmos e Estruturas de Dados II Aula 13 Árvores Rubro-Negras Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Árvores de Busca Binária Por que ABBs? São estruturas eficientes de
Leia maisBC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade
BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução
Leia maisAula 19 Árvores Rubro-Negras
Algoritmos e Estruturas de Dados I Aula 19 Árvores Rubro-Negras Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br Q1-2017 1 Árvores de Busca Binária Por que ABBs? São estruturas eficientes de busca (se
Leia maisAula 02: Custos de um algoritmo e funções de complexidade
MCTA028 Programação Estruturada Aula 02: Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20106 1 Linguagem C: Tipos de dados 2 Linguagem C: Tipos
Leia maisAula 13 Árvores Adelson-Velskii e Landis
Algoritmos e Estruturas de Dados I Aula 13 Árvores Adelson-Velskii e Landis Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br Q1-2019 1 AVL G.M. Adelson-Velskii y E.M. Landis An algorithm for the organization
Leia maisAlgoritmos e Estruturas de Dados I. Aula 11 Árvores AVL. Prof. Jesús P. Mena-Chalco.
Algoritmos e Estruturas de Dados I Aula 11 Árvores AVL Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2019 1 Sobre a altura de uma ABB 2 Altura de uma ABB 4 2 1 6 3 5 7 Uma árvore de 7 elementos
Leia maisAula 10 Árvores Adelson-Velskii e Landis
MC3305 Algoritmos e Estruturas de Dados II Aula 10 Árvores Adelson-Velskii e Landis Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2014 1 Árvores balanceadas 2 Árvores balanceadas As ABB permitem
Leia maisAula 19 Conjuntos disjuntos (Union-find)
MC3305 Algoritmos e Estruturas de Dados II Aula 19 Conjuntos disjuntos (Union-find) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Números de Ackermann 2 3 Ackermann A função de Ackermann
Leia maisMedida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo
Leia maisAula 15 Árvores Digitais / Trie
MC3305 Algoritmos e Estruturas de Dados II Aula 15 Árvores Digitais / Trie Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 ABBs Problema de busca geral Conjunto de chaves (S). Elemento x a
Leia maisMedida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo
Leia maisLimite assintótico para a ordenação, Ordenação em tempo linear
Algoritmos e Estruturas de Dados I Limite assintótico para a ordenação, Ordenação em tempo linear Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2017 1 Ordenação Ordenar corresponde ao processo
Leia maisMC3305 Algoritmos e Estruturas de Dados II. Aula 02 Hashing. Prof. Jesús P. Mena-Chalco.
MC3305 Algoritmos e Estruturas de Dados II Aula 02 Hashing Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Sobre a busca de dados/chaves 2 Busca em tabelas (vetores/arrays) Para se resolver
Leia maisAnálise de Algoritmos
Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo
Leia maisAula 18 Árvores B e parâmetros de compilação
MC3305 Algoritmos e Estruturas de Dados II Aula 18 Árvores B e parâmetros de compilação Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Árvores binárias paginadas Exemplo: árvore de 63 nós
Leia maisComplexidade de algoritmos Notação Big-O
Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema
Leia maisAlgoritmos e Estruturas de Dados I Aula 06 Custos de um algoritmo
Algoritmos e Estruturas de Dados I Aula 06 Custos de um algoritmo Prof. Jesús P. Mena-Chalco 1Q-2019 1 lista 3 7-2 6 NULL Node *Busca(int x, Node *lista) { while (lista!=null && lista->data!=x) lista =
Leia maisProjeto e Análise de Algoritmos
Projeto e Algoritmos Pontifícia Universidade Católica de Minas Gerais harison@pucpcaldas.br 26 de Maio de 2017 Sumário A complexidade no desempenho de Quando utilizamos uma máquina boa, ela tende a ter
Leia maisNem todos os problemas algorítmicos que podem ser resolvidos em princípio podem ser resolvidos na prática: os recursos computacionais requeridos
Nem todos os problemas algorítmicos que podem ser resolvidos em princípio podem ser resolvidos na prática: os recursos computacionais requeridos (tempo ou espaço) podem ser proibitivos. 1 Suponha que duas
Leia maisAula 19: Métodos eficientes de ordenação
Algoritmos e Estruturas de Dados I Aula 19: Métodos eficientes de ordenação (Merge sort e Quick sort) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2019 1 Intercalando 2 vetores ordenados 2 Intercalando
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Apresentação da Disciplina Edirlei Soares de Lima Por que Estudar Algoritmos? Razões Práticas e Teóricas: Devemos conhecer um conjunto de algoritmos
Leia maisBit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256
Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256 informações diferentes; Tipos Primitivos são implementados nas
Leia maisÁrvores B Partes I e II
Estruturas de Dados Prof. Ricardo J. G. B. Campello Árvores B Partes I e II Motivação & Construção Bottom-Up Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção
Leia maisB-Árvores. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados
MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nos artigos Bayer, R. and E. McCreight. Organization and maintenance of large ordered
Leia maisOrdenação. Prof. Jonas Potros
Ordenação Prof. Jonas Potros Conceitos Básicos Ordenar: processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. A ordenação visa facilitar a recuperação posterior de itens
Leia maisDicionários. TAD Orientado a conteúdo
Dicionários TAD Orientado a conteúdo Dicionários efinição: Tipo abstrato de dados orientado a onteúdo. Contrasta com as PILHAs e FILAs que são orientadas a posição. perações implementadas: Inserir(d,x)
Leia maisEstruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno
Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno UFABC Estruturas de Dados para Conjuntos Disjuntos: Introdução Estruturas de Dados para Conjuntos Disjuntos: Introdução
Leia maisA Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução?
Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Árvores B Parte I Introdução Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção da B-Tree
Leia maisUniversidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Árvore digital Árvore digital binária
Leia maisBC1424 Algoritmos e Estruturas de Dados I. Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco. jesus.mena@ufabc.edu.br
BC1424 Algoritmos e Estruturas de Dados I Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 2 Árvores Uma árvore é uma estrutura de dados mais geral que uma lista
Leia maisAula 21 Ordenação externa
MC3305 Algoritmos e Estruturas de Dados II Aula 21 Ordenação externa Slides adaptados de Brian Cooper (Yahoo Research) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Números de Ackermann
Leia maisHashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri
Hashing Externo SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri 1 Hashing 0 1 chave de busca K = LOWELL 2 h(k) endereço 4 (RRN 4) 3 4 5... LOWELL......
Leia maisHashing convencional...
Hashing M.C.F. de Oliveira & Cristina Ciferri 2006/2007 Fonte: Folk & Zoelick, File Structures 1 Hashing convencional... Revisão... 2 1 Hashing 0 chave de busca K = LOWELL h(k) endereço 4 1 2 3 4 5...
Leia maisPrograma Analítico de Disciplina SIN213 Projeto de Algoritmos
Programa Analítico de Disciplina Campus Rio Paranaíba - Campus Rio Paranaíba Número de créditos: 6 Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 4 2 6 Períodos - oferecimento: II
Leia maisA Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução
Algoritmos e Estruturas de Dados II Árvores B Parte I Introdução Adaptado dos Originais de: Profa. Debora Medeiros Ricardo J. G. B. Campello Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção da
Leia maisHashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão...
Algoritmos e Estruturas de Dados II Hashing Prof Debora Medeiros Hashing convencional Revisão Adaptado dos Originais de: Maria Cristina F de Oliveira Cristina Ciferri Hashing Exemplo de espalhamento 0
Leia maisÁRVORES E ÁRVORE BINÁRIA DE BUSCA
ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática
Leia maisEDUARDO DA SILVA SARDÃO 0981/00-4 IGOR RODRIGO MACHADO DE MENEZES 1422/98-1 TRABALHO FINAL ÁRVORES B+
1 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA - CIÊNCIA DA COMPUTAÇÃO DEPARTAMENTO DE INFORMÁTICA APLICADA CLASSIFICAÇÃO E PESQUISA DE DADOS INF01124 EDUARDO DA SILVA SARDÃO 0981/00-4
Leia maisÁrvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira
Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil
Leia maisImplementação de Diretórios (1)
Implementação de Diretórios (1) Ao abrir um arquivo, o SO usa o caminho para localizar a entrada no diretório. A entrada no diretório fornece informações para localizar os blocos de disco. Endereço de
Leia maisÁrvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes
Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil em índices ordenados... mas com índice grande
Leia maisMCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo
MCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo Prof. Jesús P. Mena-Chalco Q-2017 1 Estudo de algoritmos O projeto de algoritmos é influenciado pelo estudo de seus comportamentos.
Leia maisÁrvore Vermelho-Preta. Estrutura de Dados II Jairo Francisco de Souza
Árvore Vermelho-Preta Estrutura de Dados II Jairo Francisco de Souza Introdução As árvores Vermelho-preto são árvores binárias de busca Também conhecidas como Rubro-negras ou Red-Black Trees Foram inventadas
Leia maisANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa
ANÁLISE DE ALGORITMOS: PARTE 1 Prof. André Backes Algoritmos 2 Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa Precisamos escrever o seu algoritmo Um algoritmo
Leia maisALGORITMOS DE ORDENAÇÃO
ALGORITMOS DE ORDENAÇÃO Prof. André Backes Conceitos básicos 2 Ordenação Ato de colocar um conjunto de dados em uma determinada ordem predefinida Fora de ordem 5, 2, 1, 3, 4 Ordenado 1, 2, 3, 4, 5 OU 5,
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GBC052 PERÍODO:
Leia mais5. Algoritmos de Ordenação
Introdução à Computação II 5952011 5. Algoritmos de Ordenação Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 5.1. Ordenação por Inserção 5.2. Ordenação por Seleção
Leia maisAcesso Sequencial Indexado
Acesso Sequencial Indexado Utiliza o princípio da pesquisa seqüencial cada registro é lido seqüencialmente até encontrar uma chave maior ou igual a chave de pesquisa. Providências necessárias para aumentar
Leia maisEdital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome
Leia maisheapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2;
heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i0 && x[f]
Leia maisQuantidade de memória necessária
Tempo de processamento Um algoritmo que realiza uma tarefa em 10 horas é melhor que outro que realiza em 10 dias Quantidade de memória necessária Um algoritmo que usa 1MB de memória RAM é melhor que outro
Leia maisAbordagens para Resolução de Problemas
Abordagens para Resolução de Problemas UDESC - Universidade do Estado de Santa Catarina Departamento de Ciência da Computação CAL - Complexidade de Algoritmos Teodoro Alberto Borges Junior Abordagens para
Leia maisÁrvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão
Árvore B Profa. Dra. Cristina Dutra de Aguiar Ciferri Método genérico para o armazenamento e a recuperação de dados voltado para arquivos volumosos proporciona rápido acesso aos dados possui custo mínimo
Leia mais- Métodos simples de busca - Métodos ingênuos de ordenação (introdução)
1 MCTA028 Programação Estruturada Busca e Ordenação (parte I) - Métodos simples de busca - Métodos ingênuos de ordenação (introdução) Material preparado a partir de slides dos profs. Jesús Mena-Chalco
Leia maisAula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão
MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Custo de um algoritmo
Leia maisÁrvores AVL e Árvores B. Jeane Melo
Árvores AVL e Árvores B Jeane Melo Roteiro Árvores Binárias Árvores AVL Definição Motivação Balanceamento Operações de rebalanceamento Árvores B Introdução Árvores Binárias Árvores binárias Cada nó tem
Leia maisAlgoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo
Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info Observações O conteúdo dessa aula é parcialmente proveniente do Capítulo 11 do livro Fundamentals of
Leia maisMC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco.
MC3305 Algoritmos e Estruturas de Dados II Aula 00 Apresentação Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Apresentação Professor: Jesús P. Mena-Chalco (CMCC) Formação: - Engenheiro da
Leia maisEdital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 032/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Leia maisMétodos de Ordenação
Métodos de Ordenação Conceitos básicos sobre ordenação Ordenar corresponde ao processo de rearranjar um conjunto de objetos em uma ordem específica. Objetivo da ordenação: facilitar a recuperação posterior
Leia maisSCC-501 Introdução à Ciência de Computação II
SCC-501 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2011 João
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 01 Complexidade de Algoritmos Edirlei Soares de Lima O que é um algoritmo? Um conjunto de instruções executáveis para resolver um problema (são
Leia maisEdital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 055/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Leia maisComplexidade de Tempo e Espaço
Complexidade de Tempo e Espaço Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Complexidade de Tempo e Espaço junho - 2018 1 / 43 Este material é preparado usando
Leia maisOrdenação e Busca em Arquivos
Ordenação e Busca em Arquivos Cristina D. A. Ciferri Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Moacir Ponti Jr. Exemplos de Busca Registros de tamanho fixo M A R I A R U A b 1 S A O b C A
Leia maisAnálise de Algoritmos Estrutura de Dados II
Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Análise de Algoritmos Estrutura de Dados II COM10078 - Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisINF 1010 Estruturas de Dados Avançadas
INF 1010 Estruturas de Dados Avançadas Complexidade de Algoritmos 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.2 1 Introdução Complexidade computacional Termo criado por Hartmanis e Stearns (1965)
Leia maisTeoria da Computação Aula 9 Noções de Complexidade
Teoria da Computação Aula 9 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Análise de um Algoritmo em particular Qual é o custo de usar um dado algoritmo para resolver um
Leia maisAnálise de Algoritmos. Prof. Sérgio Carlos Portari Júnior
Análise de Algoritmos Prof. Sérgio Carlos Portari Júnior 2016 Plano de Ensino EMENTA: Desenvolvimento de Algoritmos. Medidas de Complexidade. Estratégias Básicas. Divisão e Conquista. Método Guloso. Programação
Leia maisAlgoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1
Algoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) PIP/CA - Programa Interdisciplinar de Pós-Graduação
Leia maisArvores binárias. Fonte: https://www.tumblr.com/ PF 14 pf/algoritmos/aulas/bint.html
AULA 25 Arvores binárias Fonte: https://www.tumblr.com/ PF 14 http://www.ime.usp.br/ pf/algoritmos/aulas/bint.html Mais tabela de símbolos Uma tabela de símbolos (= symbol table = dictionary) é um conjunto
Leia maisCT-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 Bibliografia T.H. Cormen, C.E. Leiserson and R.L. Rivest Introduction to algorithms R. Sedgewick
Leia maisÁRVORE RUBRO- NEGRA. Prof. André Backes. Também conhecida como árvore vermelhopreto
ÁRVORE RUBRO- NEGR Prof. ndré Backes Árvore rubro-negra 2 Também conhecida como árvore vermelhopreto ou red-black Tipo de árvore binária balanceada Originalmente criada por Rudolf Bayer em 1972 Chamadas
Leia maisÁrvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes
Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Árvores Binárias Paginadas (Paged Binary Trees) 8 páginas-filhas 7 registros por página (por seek); Árvore de altura 2 e ordem
Leia maisHashing externo. Graça Nunes. Fonte: Folk & Zoelick, File Structures
Hashing externo Graça Nunes Fonte: Folk & Zoelick, File Structures 1 Hashing convencional... Revisão... 2 Hashing 0 1 chave de busca K = LOWELL 2 h(k) endereço 4 3 4 LOWELL... endereço gerado pela função
Leia maisB-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3
B-tree B-Trees Material da Prof. Denise Bandeira, aula de Christian Hofsetz B-Trees são árvores balanceadas. Diferente das árvores binárias, os nós de uma B-tree podem ter um número variável de nodos filho.
Leia maisUniversidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Alocação sequencial Listas lineares,
Leia maisEdital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 023/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Leia maisAnálise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenação Mario E. Matiusso Jr. (11028407) Bacharelado em Ciências da Computação Universidade Federal do ABC (UFABC) Santo André, SP Brasil mario3001[a]ig.com.br Resumo:
Leia maisTeoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr
5COP096 Teoria da Computação Aula 9 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Introdução à Pesquisa em Memória Secundária 2) Modelo de Computação para Memória Secundária
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 09 Algoritmos de Ordenação Edirlei Soares de Lima Ordenação Problema: Entrada: conjunto de itens a 1, a 2,..., a n ; Saída: conjunto de itens
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:
Leia maisAula 07: Algoritmos de busca e Listas encadeadas
BC1424 Algoritmos e Estruturas de Dados I Aula 07: Algoritmos de busca e Listas encadeadas Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2016 1 Busca de um elemento 2 Exemplo: Busca de um elemento
Leia maisMétodos de Busca Parte 1
Métodos de Busca Parte 1 Introdução à Ciência da Computação II Prof. Diego Raphael Amancio Baseado no material do Prof. Rudinei Goularte e do Prof. Thiago A. S. Pardo Introdução Importância em estudar
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Aula 19: - Comparação empírica de algoritmos de ordenação - Árvores Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2016 1 Comparação empírica de algoritmos de
Leia maisUniversidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Ordenação por bolha (bubble sort)
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Estrutura de Dados 2
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM SISTEMAS DE INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Estrutura de Dados 2 ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GSI011 PERÍODO:
Leia maisÁrvores Vermelho-Preto
Árvores Vermelho-Preto SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC)
Leia maisÁrvores Vermelho-Preto
SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São
Leia maisANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS ESTRUTURAS E INDEXAÇÃO FELIPE G. TORRES ARQUIVOS Um arquivo é uma sequência de registros. Em muitos casos do mesmo tipo. Se cada registro no arquivo tem exatamente o
Leia maisÁrvores balanceadas. Aleardo Manacero Jr.
Árvores balanceadas Aleardo Manacero Jr. Árvores Balanceadas Para que uma árvore seja, de fato, um mecanismo eficiente, é preciso que os seus elementos estejam distribuídos de forma relativamente homogênea
Leia maisEdital de Seleção 053/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 053/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Leia maisEstruturas de Dados Tabelas de Espalhamento
Estruturas de Dados Tabelas de Espalhamento Prof. Eduardo Alchieri (introdução) Uma estrutura como, as árvores binárias de busca, que trabalhe na ordem de log n é muito eficiente, mas em algumas situações
Leia maisMétodos de Busca Parte 2
Métodos de Busca Parte 2 SCC-214 Projeto de Algoritmos Prof. Thiago A. S. Pardo Baseado no material do Prof. Rudinei Goularte 1 Introdução Acesso seqüencial = O(n) Quanto mais as estruturas (tabelas, arquivos,
Leia maisPreliminares. Profa. Sheila Morais de Almeida. agosto
Preliminares Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2016 Algoritmos Definição - Skiena Algoritmo é a ideia por trás dos programas de computador. É aquilo que permanece igual se o programa
Leia maisAula 1. Teoria da Computação III
Aula 1 Teoria da Computação III Complexidade de Algoritmos Um problema pode ser resolvido através de diversos algoritmos; O fato de um algoritmo resolver um dado problema não significa que seja aceitável
Leia mais