Sto cercando una struttura di dati che spingerà fuori il suo elemento più vecchio / ultimo se viene inserito un nuovo elemento. Ad esempio, lascia che Drappresenti la struttura. Dcontiene 3 elementi dei Number Dvalori predefiniti del tipo che verranno inizializzati su 1, 2e 3. D = [ 1 , …
Il perfezionamento delle partizioni è una tecnica in cui si inizia con un insieme finito di oggetti e si divide progressivamente l'insieme. Alcuni problemi, come la minimizzazione di DFA, possono essere risolti utilizzando il perfezionamento della partizione in modo abbastanza efficiente. Non conosco altri problemi che di solito vengono risolti …
WalkSAT e GSAT sono algoritmi di ricerca locale ben noti e semplici per risolvere il problema di soddisfacibilità booleana. Lo pseudocodice per l'algoritmo GSAT viene copiato dalla domanda Implementazione dell'algoritmo GSAT - Come selezionare quale letterale capovolgere? e presentato di seguito. procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 …
Ho un compito in cui devo usare un albero di ricerca binario e modificarlo per auto-ordinarsi in modo tale che gli elementi a cui si accede di più (hanno una priorità più alta) siano nella parte superiore dell'albero, la radice essendo il nodo più accessibile . Il professore mi ha …
Prendi in considerazione alberi binari senza etichetta e con radici. Possiamo comprimere tali alberi: quando sono puntatori ai sottoalberi e T ' con T = T ' (interpretazione = la parità strutturali), abbiamo memorizzare (WLOG) T e sostituire tutti i puntatori alle T ' con puntatori a T . Vedi …
Molti algoritmi di flusso massimo che comunemente vedo implementati, l'algoritmo di Dinic, il push relabel e altri, possono migliorare il loro costo del tempo asintotico attraverso l'uso di alberi dinamici (noti anche come alberi tagliati a link). Push relabel funziona in o O ( V 3 ) o O ( …
Gli alberi dinamici svolgono un ruolo importante nella risoluzione di problemi quali flussi di rete, grafici dinamici, problemi combinatori ("Alberi dinamici in pratica" di Tarjan e Werneck) e la recente fusione di dizionari ("A Simple Mergeable Dictionary" di Adam Karczmarz), Per alberi dinamici mi riferisco alla definizione dichiarata nel documento …
Ho un array di 100.000 stringhe, tutte di lunghezza . Voglio confrontare ogni stringa con ogni altra stringa per vedere se due stringhe differiscono di 1 carattere. In questo momento, quando aggiungo ogni stringa all'array, la sto confrontando con ogni stringa già presente nell'array, che ha una complessità temporale di …
Le strutture di dati persistenti sono strutture di dati immutabili. Le operazioni su di essi restituiscono una nuova "copia" della struttura dei dati, ma modificata dall'operazione; la vecchia struttura di dati rimane tuttavia invariata. L'efficienza si ottiene generalmente condividendo alcuni dei dati sottostanti ed evitando la copia completa della struttura …
Mi preoccupo della questione del tempo di esecuzione asintotico dell'algoritmo di Ukkonen , forse l'algoritmo più popolare per la costruzione di alberi di suffissi in tempo lineare (?). Ecco una citazione dal libro "Algorithms on archi, alberi e sequenze" di Dan Gusfield (sezione 6.5.1): "... gli algoritmi di Aho-Corasick, Weiner, …
Supponiamo di ricevere numeri in uno stream. Dopo aver ricevuto ciascun numero, è necessario calcolare una somma ponderata degli ultimi numeri, in cui i pesi sono sempre gli stessi, ma arbitrari.NNN Quanto efficacemente può essere fatto se ci è permesso mantenere una struttura di dati per aiutare con il calcolo? …
Di recente ho letto che è possibile disporre di array che non devono essere inizializzati, ovvero è possibile utilizzarli senza dover perdere tempo a cercare di impostare ciascun membro sul valore predefinito. cioè è possibile iniziare a usare l'array come se fosse stato inizializzato dal valore predefinito senza inizializzarlo. (Mi …
Ho una piccola domanda di storia, vale a dire, come dice il titolo, sto cercando i primi usi degli alberi (come struttura di dati, albero di ricerca, qualunque cosa) nell'informatica.
Durante la riflessione su un problema, mi sono reso conto che ho bisogno di creare un algoritmo efficiente che risolva il seguente compito: Il problema: ci viene data una scatola quadrata bidimensionale del lato cui lati sono paralleli agli assi. Possiamo esaminarlo attraverso la cima. Tuttavia, ci sono anche segmenti …
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.