Articles of strutture dati

Qual è il modo migliore per creare una matrice sparsa in C ++?

Sto lavorando a un progetto che richiede la manipolazione di enormi matrici, in particolare una sumtoria piramidale per un calcolo di copula. In breve, ho bisogno di tenere traccia di un numero relativamente piccolo di valori (solitamente un valore di 1, e in rari casi più di 1) in un mare di zeri nella matrice […]

Hashing una struttura ad albero

Ho appena trovato uno scenario nel mio progetto in cui ho bisogno di confrontare diversi oggetti dell’albero per l’uguaglianza con le istanze già note e ho considerato che una sorta di algoritmo di hashing che opera su un albero arbitrario sarebbe molto utile. Prendi ad esempio il seguente albero: O / \ / \ OO […]

Design della cache LRU

La cache LRU (Least Recently Used) (LRU) utilizzata per prima cosa elimina gli elementi meno utilizzati di recente. Come si progetta e si implementa tale class cache? I requisiti di progettazione sono i seguenti: 1) trova l’object il più velocemente ansible 2) Una volta che una cache manca e una cache è piena, dobbiamo sostituire […]

Perché dovrei usare Deque over Stack?

Ho bisogno di un datastructure Stack per il mio caso d’uso. Dovrei essere in grado di inserire gli elementi nel datastructure e voglio solo recuperare l’ultimo elemento dallo Stack. Il JavaDoc per Stack dice: Un insieme più completo e coerente di operazioni di stack LIFO è fornito dall’interfaccia Deque e dalle sue implementazioni, che dovrebbero […]

Come creare una mappa a 2 vie in java

Ho bisogno di una struttura dati per memorizzare coppie di valori string-int in una relazione 1: 1, e anche in grado di cercare da entrambi i lati la loro controparte. Ho scritto una class con una matrice Hashtable e una stringa e ho memorizzato i dati 2 volte e ho usato le funzioni incorporate per […]

Strutture dati Trie – Java

C’è qualche libreria o documentazione / link che fornisce maggiori informazioni sull’implementazione della struttura dati di Trie in java? Qualsiasi aiuto sarebbe grande! Grazie.

Java: come convertire List in Map

Recentemente ho avuto una conversazione con un collega su quale sarebbe il modo ottimale per convertire List in Map in Java e se ci sono dei vantaggi specifici nel farlo. Voglio conoscere un approccio di conversione ottimale e sarei davvero grato se qualcuno potesse guidarmi. È questo buon approccio: List results; Map resultsMap = new […]

Come implementate un buffer circolare in C?

Ho bisogno di un buffer circolare a dimensione fissa (selezionabile in fase di esecuzione durante la creazione, non in fase di compilazione) che possa contenere oggetti di qualsiasi tipo e che abbia bisogno di prestazioni molto elevate. Non penso che ci saranno problemi di contesa delle risorse poiché, sebbene si trovi in ​​un ambiente embedded […]

Cos’è la copia su scrittura?

Mi piacerebbe sapere cos’è la copia su scrittura e a cosa serve? Il termine “array copy-on-write” è menzionato più volte nei tutorial Sun JDK ma non ho capito cosa significasse.

Calcolo dell’intersezione del set in tempo lineare?

Esiste un algoritmo che, dati due set, calcoli la loro intersezione in tempo lineare? Posso eseguire due cicli for per controllare tutte le coppie di elementi, registrando gli elementi che trovo in entrambi i set. Tuttavia, il tempo di esecuzione sarà O (n 2 ). Come faccio a farlo nel tempo O (n)?