A maioria dos tutoriais sobre o Cálculo Lambda fornece um exemplo em que números inteiros positivos e booleanos podem ser representados por funções. E quanto a -1 e
A maioria dos tutoriais sobre o Cálculo Lambda fornece um exemplo em que números inteiros positivos e booleanos podem ser representados por funções. E quanto a -1 e
Suponha que tenhamos um conjunto e cada membro de seja um par de dados e chave. Queremos uma estrutura de dados que suporte as seguintes operações:DDDDDD Insira em ,( d, K )(d,k)(d,k)DDD Exclua o membro , (não é necessário pesquisar para encontrar , por exemplo, aponta para um membro em...
Algoritmos e estruturas de dados alheios ao cache são algo bastante novo, introduzido por Frigo et al. em algoritmos alheios a cache, 1999 . A tese de Prokop do mesmo ano também apresenta as idéias iniciais. O artigo de Frigo et al. apresentar alguns resultados experimentais mostrando o potencial...
Eu tenho dois grandes conjuntos de números inteiros e . Cada conjunto possui cerca de um milhão de entradas e cada entrada é um número inteiro positivo com no máximo 10 dígitos. BUMAAABBB Qual é o melhor algoritmo para calcular e ? Em outras palavras, como posso calcular com eficiência a lista de...
HHHh : U→ { 0 , … , M- 1 }h:você→{0 0,...,M-1}h: U \rightarrow \{0,\ldots,M-1\}∀ x , y∈ U, X ≠ y⇒ Prh ∈ H[ h ( x ) = h ( y) ] ≤ 1M∀x,y∈você,x≠y⇒Prh∈H[h(x)=h(y)]≤1M\forall x,y \in U, x \neq y \Rightarrow \Pr_{h \in H}[h(x) = h(y)] \leq \frac{1}{M} O conceito de hash universal agora faz parte padrão...
Se considerarmos uma árvore como um conjunto ordenado parcial, ela se torna um caso especial de junção-semilático. Para uma junção semilática, queremos poder calcular o limite superior mínimo (único) de dois elementos (mais ou menos) com eficiência. No caso de uma árvore, uma estrutura de dados que...
As tabelas de hash perfeitas dinâmicas e as tabelas de hash do cuco são duas estruturas de dados diferentes que suportam pesquisas de pior caso O (1) e inserções e exclusões esperadas em tempo de O (1). Ambos requerem O (n) espaço auxiliar e acesso a famílias de funções de hash para suas...
Uma das perguntas mais populares sobre estruturas de dados e algoritmos, principalmente feita em entrevista por
Tenho a seguinte pergunta, mas não tenho resposta para isso. Eu apreciaria se meu método está correto: Q. Ao procurar o valor da chave 60 em uma árvore de pesquisa binária, os nós que contêm os valores da chave 10, 20, 40, 50, 70, 80, 90 são percorridos, não necessariamente na ordem especificada....
Estou projetando um banco de dados de objetos na memória para um caso de uso muito específico. É um escritor único, mas deve suportar leituras simultâneas eficientes. As leituras devem ser isoladas. Não há linguagem de consulta, o banco de dados suporta apenas: obter objetos / s por atributo /...
Um Fibonnaci Heap suporta as seguintes operações: insert(key, data) : adiciona um novo elemento à estrutura de dados find-min() : retorna um ponteiro para o elemento com a chave mínima delete-min() : remove o elemento com a chave mínima delete(node) : exclui o elemento apontado por...
Seja nnn um número inteiro e ZZ\mathbb{Z} denote o conjunto de todos os números inteiros. Deixe [a,b][a,b][a,b] denotar o intervalo de números inteiros {a,a+1,a+2,…,b}{a,a+1,a+2,…,b}\{a,a+1,a+2,\dots,b\} . Eu estou procurando uma estrutura de dados para representar um mapa...
Deseja melhorar este post? Forneça respostas detalhadas para esta pergunta, incluindo citações e uma explicação de por que sua resposta está correta. Respostas sem detalhes suficientes podem ser editadas ou excluídas. Fui encarregado de construir uma biblioteca de livros...
Estou lutando com o hash e o material da árvore de pesquisa binária. E li que, em vez de usar listas para armazenar entradas com os mesmos valores de hash, também é possível usar árvores de pesquisa binária. E tento entender qual é o pior e o tempo médio de execução das operações insert, find...
Estou procurando uma estrutura de dados persistente semelhante à matriz (mas imutável), permitindo operações rápidas de indexação, acréscimo, pré-acréscimo e iteração (boa localidade). O Clojure fornece Vector persistente, mas é apenas para anexação rápida. O vetor de Scala efetivamente anexa e...
No trabalho, fui encarregado de deduzir algumas informações de tipo sobre uma linguagem dinâmica. Reescrevo seqüências de instruções em letexpressões aninhadas , da seguinte maneira: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z =>...
Existem estruturas de dados eficientes para representar partições definidas. Essas estruturas de dados têm boas complexidades de tempo para operações como Union e Find, mas não são particularmente eficientes em termos de espaço. O que é uma maneira eficiente de espaço para representar uma partição...
Suponha que lemos uma sequência de números, um por um. Como encontrar o menor elemento do apenas com o uso da memória da célula e no tempo linear ( ). Acho que devemos salvar os primeiros termos de sequência e, quando obter o termo ', exclua um termo que tenha certeza de que não pode ser o ' é o...
Para um determinado gráfico plano incorporado no plano, definido por um conjunto de segmentos de linha , cada segmento é representado por seus pontos finais . Construa uma estrutura de dados DCEL para a subdivisão planar, descreva um algoritmo, prove sua correção e mostre a
Estou tentando entender como as árvores indexadas binárias (árvores fenwick) podem ser modificadas para lidar com consultas e atualizações de intervalo. Encontrei as seguintes fontes: http://kartikkukreja.wordpress.com/2013/12/02/range-updates-with-bit-fenwick-tree/