Proprietà e applicazioni delle strutture dati, come limiti inferiori di spazio o complessità temporale dell'inserimento e della cancellazione di oggetti.
Sono noti risultati che escludono l'esistenza di strutture di dati "troppo buone per essere vere"? Ad esempio: si può aggiungere e funzionalità di una struttura dati mantenimento dell'ordine (vedi Dietz e Sleator STOC '87 ) e ancora ottenere operazioni di tempo?SplitSplitSplitJoinJoinJoinO(1)O(1)\mathcal{O}(1) Oppure: è possibile implementare un set ordinato con chiavi …
Sto esplorando l'idea di scrivere un DBMS in modo puramente funzionale. La struttura dati tradizionale utilizzata per l'indicizzazione è B-Tree. Mi piacerebbe conoscere un equivalente puramente funzionale di B-Tree che sarebbe ottimizzato per ridurre al minimo l'accesso al disco. Grazie.
Considera la lista debolmente collegata singolarmente in un ambiente puramente funzionale. Le sue lodi sono state cantate dalle cime delle montagne e continueranno a essere cantate. Qui affronterò uno tra i suoi numerosi punti di forza e la domanda su come estenderlo alla più ampia classe di sequenze puramente funzionali …
Mentre cercavo di correggere un bug in una libreria, ho cercato documenti per trovare subrange su alberi rossi e neri senza successo. Sto prendendo in considerazione una soluzione che utilizza le cerniere lampo e qualcosa di simile alla solita operazione di aggiunta utilizzata sugli algoritmi di eliminazione per strutture di …
Se palline vengono posizionate in bidoni in modo uniforme a caso, il cestino caricato più pesante contiene palline con alta probabilità. In "The Power of Simple Tabulation Hashing" , Pătraşcu e Thorup menzionano che "Limiti di Chernoff-Hoeffding per applicazioni con indipendenza limitata" ( mirror ) mostra che questo limite sulla …
Sto cercando una struttura di dati che mantenga una tabella intera ttt di dimensione nnn e consenta le seguenti operazioni nel tempo O(logn)O(logn)O(\log n) . increase(a,b)aumentare(un',B)\text{increase}(a,b) , che aumentat[a],t[a+1],…,t[b]t[un'],t[un'+1],...,t[B]t[a],t[a+1],\ldots,t[b] . decrease(a,b)diminuire(un',B)\text{decrease}(a,b) , che diminuiscet[a],t[a+1],…,t[b]t[un'],t[un'+1],...,t[B]t[a],t[a+1],\ldots,t[b] . support()supporto()\text{support}() , che restituisce il numero di indiciiioi tale chet[i]≠0t[i]≠0t[i]\neq 0 . Hai la promessa …
La domanda Cosa c'è di nuovo nelle strutture di dati puramente funzionali da Okasaki? e l'epica risposta di jbapple, menzionata usando liste di differenze nella programmazione funzionale (al contrario della programmazione logica), che è qualcosa che mi ha interessato di recente. Questo mi ha portato a trovare l' implementazione delle …
Si dice che due alberi di ricerca binari siano linearmente equivalenti quando concordano nei loro attraversamenti in ordine. Il seguente teorema spiega perché le rotazioni degli alberi sono così fondamentali: Lascia che A e B siano alberi di ricerca binari. Quindi A e B sono linearmente equivalenti se e solo …
Pensa al modello di sonda cellulare. Esiste una struttura di dati che può allocare blocchi di memoria contigui di qualsiasi lunghezza (come ad esempio malloc in C) e liberarli, evitando la segmentazione della memoria, ed esegue ogni operazione nel caso O (log n) deterministico nel caso peggiore dove n è …
Esiste una coda con priorità intera che utilizza parole di spazio con le seguenti operazioni, tutte nel peggiore dei casi e senza accesso alla casualità:O ( n )O(n)O(n) createEmptyQueuein per una costante c .O ( l gcU)O(lgcU)O(lg^c U)ccc insertin .O(1)O(1)O(1) deleteMinin , dove δ min è la differenza tra la …
Considera un predicato monotonico sopra il powerset 2 | n | (ordinato per inclusione). Per "monotonico" intendo: ∀ x , y ∈ 2 | n | tale che x ⊂ y , se P ( x ) quindi P ( y ) . Sto cercando un algoritmo per trovare tutti …
Dato un filtro bloom di dimensioni N-bit e funzioni hash K, di cui sono impostati i bit M (dove M <= N) del filtro. È possibile approssimare il numero di elementi inseriti nel filtro bloom? Esempio semplice Ho riflettuto sul seguente esempio, supponendo un BF di 100 bit e 5 …
Questa domanda si ispira a una domanda esistente sulla possibilità di simulare uno stack utilizzando due code in ammortizzato per operazione di stack. La risposta sembra essere sconosciuta. Ecco una domanda più specifica, corrispondente al caso speciale in cui tutte le operazioni PUSH vengono eseguite per prime, seguite da tutte …
Nel peggiore dei casi puramente funzionali , elenchi ordinati catenabili a tempo costante , Brodal et al. presenta alberi bilanciati puramente funzionali con O (1) concatenato e O (lg n) inserisci, elimina e trova. La struttura dei dati è alquanto complicata. Esiste un albero di ricerca bilanciato più semplice con …
La funzione inversa di Ackermann si verifica spesso durante l'analisi degli algoritmi. Una grande presentazione di questo è qui: http://www.gabrielnivasch.org/fun/inverse-ackermann . α1(n)=[n/2]α1(n)=[n/2]\alpha_1(n) = [n/2] e [Notazione: [x] significa che arrotondiamo x all'intero più vicino, mentre log ∗ è la funzione di log iterata discussa qui:α2( n ) = [ registro2n …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.