Articles of strutture dati

Immagine speculare di un albero binario

Supponiamo che io abbia questo albero: 1 2 3 4 5 Quindi l’immagine speculare sarà: 1 3 2 5 4 Supponiamo che i nodes siano di questa struttura: struct node{ node left; node right; int value; } Qualcuno può suggerire un algoritmo per questo?

Implementazione Java per Min-Max Heap?

Conoscete una libreria popolare (Apache, Google, ecc.) Che ha un’implementazione Java affidabile per un heap min-max, ovvero un heap che consente di sbirciare il suo valore minimo e massimo in O(1) e di rimuovere un elemento in O(log n) ?

Il modo più semplice di utilizzare la coda di priorità minima con l’aggiornamento chiave in C ++

A volte durante i contest di programmazione, ecc., Abbiamo bisogno di una semplice implementazione funzionante della coda di priorità minima con il tasto di riduzione per implementare l’algoritmo di Dijkstra ecc. Io uso spesso il set <pair > e un array (ID di mapping -> valore_chiave ) insieme per raggiungere questo objective. L’aggiunta di un […]

C ++ – implementazione dell’albero ad intervalli

Qualcuno conosce una buona implementazione di interval tree in C ++? Ovviamente, qualcosa ispirato ai template, migliore in stile boost . E un’altra domanda: se qualcuno ha provato, un’implementazione base dell’albero std::vector basata su intervalli con l’ordinamento può battere l’albero ad albero generico (con operazioni O (lg) in pratica?

Perché hashCode () può restituire lo stesso valore per oggetti diversi in Java?

Una citazione dal libro che sto leggendo Head First Java : Il punto è che gli hashcode possono essere gli stessi senza necessariamente garantire che gli oggetti siano uguali, perché potrebbe accadere che l’algoritmo di hashing utilizzato nel metodo hashCode() restituisca lo stesso valore per più oggetti. Perché il metodo hashCode() restituire lo stesso valore […]

Qual è la rappresentazione di un albero di sinistra, fratello destro? Perché dovresti usarlo?

Molte strutture dati memorizzano alberi multi-way come alberi binari usando una rappresentazione chiamata rappresentazione “left-child, right-sibling” . Cosa significa questo? Perché dovresti usarlo?

Ordina l’albero delle statistiche in C ++

Ho bisogno di un albero di statistica degli ordini per i contenitori di mappe standard di GCC STL. Ho controllato e c’è qualcosa di conosciuto come PBDS. Strutture dati basate su criteri. Anche questo uso non mi è chiaro. Chiunque può dirmi come utilizzare i contenitori di mappe STL per l’albero delle statistiche degli ordini? […]

Perché java.util.Set non ha ottenuto (int index)?

Sono sicuro che c’è una buona ragione, ma qualcuno potrebbe spiegare perché manca l’interfaccia java.util.Set get(int Index) o un metodo get() simile? Sembra che gli insiemi siano ottimi per inserire le cose, ma non riesco a trovare un modo elegante per recuperare un singolo elemento da esso. Se so che voglio il primo elemento, posso […]

Come evitare il problema “troppi parametri” nella progettazione dell’API?

Ho questa funzione API: public ResultEnum DoSomeAction(string a, string b, DateTime c, OtherEnum d, string e, string f, out Guid code) Non mi piace. Perché l’ordine dei parametri diventa inutilmente significativo. Diventa più difficile aggiungere nuovi campi. È più difficile vedere cosa viene passato in giro. È più difficile il refactoring del metodo in parti […]

Alternativa non di sola lettura ai tipi anonimi

In C #, un tipo anonimo può essere il seguente: method doStuff(){ var myVar = new { a = false, b = true } if (myVar.a) { // Do stuff } } Tuttavia, quanto segue non verrà compilato: method doStuff(){ var myVar = new { a = false, b = true } if (myVar.a) { […]