Un algoritmo è una sequenza di passaggi ben definiti che definisce una soluzione astratta a un problema. Utilizzare questo tag quando il problema è correlato alla progettazione e all'analisi degli algoritmi.
In un corso di algoritmi standard ci viene insegnato che quicksort è in media e nel peggiore dei casi. Allo stesso tempo, vengono studiati altri algoritmi di ordinamento che sono nel peggiore dei casi (come mergesort e heapsort ), e persino il tempo lineare nel migliore dei casi (come bubblesort …
Ci sono un sacco di domande su come analizzare il tempo di esecuzione degli algoritmi (vedi, ad esempio, di runtime-analisi e algoritmo di analisi ). Molti sono simili, ad esempio quelli che richiedono un'analisi dei costi di loop nidificati o algoritmi di divisione e conquista, ma la maggior parte delle …
Vorrei chiarire: Dato un diagramma a dispersione di un determinato numero di punti n, se voglio trovare mentalmente il punto più vicino a qualsiasi punto della trama, posso immediatamente ignorare la maggior parte dei punti nel grafico, restringendo le mie scelte a un piccolo numero costante di punti nelle vicinanze …
La conversione di espressioni regolari in NFA (minimo) che accetta la stessa lingua è facile con algoritmi standard, ad esempio l'algoritmo di Thompson . L'altra direzione sembra essere più noiosa, tuttavia, e talvolta le espressioni risultanti sono disordinate. Quali algoritmi esistono per convertire NFA in espressioni regolari equivalenti? Ci sono …
Per provare a verificare se un algoritmo per qualche problema è corretto, il solito punto di partenza è provare a eseguire l'algoritmo manualmente su una serie di semplici casi di test - provalo su alcuni casi esemplificativi, inclusi alcuni semplici "casi angolari" ". Questa è una grande euristica: è un …
Un albero indicizzato binario ha una letteratura molto inferiore o relativamente nulla rispetto ad altre strutture di dati. L'unico posto dove viene insegnato è il tutorial di topcoder . Sebbene il tutorial sia completo in tutte le spiegazioni, non riesco a capire l'intuizione dietro un tale albero? Come è stato …
Mi sono chiesto di questa domanda da quando ero uno studente universitario. È una domanda generale, ma elaborerò con esempi di seguito. Ho visto molti algoritmi - ad esempio, per i problemi di flusso massimo, conosco circa 3 algoritmi che possono risolvere il problema: Ford-Fulkerson, Edmonds-Karp e Dinic, con Dinic …
Nella maggior parte delle lezioni introduttive sugli algoritmi, vengono introdotte notazioni come OOO (Big O) e ΘΘ\Theta , e uno studente in genere imparerebbe ad usare una di queste per trovare la complessità temporale. Tuttavia, ci sono altre notazioni, come ooo , ΩΩ\Omega e ωω\omega . Esistono scenari specifici in …
Esistono due metodi di partizione quicksort menzionati in Cormen: Hoare-Partition(A, p, r) x = A[p] i = p - 1 j = r + 1 while true repeat j = j - 1 until A[j] <= x repeat i = i + 1 until A[i] >= x if i < …
Durante la ricerca di grafici, esistono due semplici algoritmi: breadth-first e depth-first (solitamente eseguito aggiungendo tutti i nodi grafici adiacenti a una coda (breadth-first) o stack (depth-first)). Ora, ci sono dei vantaggi l'uno rispetto all'altro? Quelli a cui potrei pensare: Se ti aspetti che i tuoi dati siano abbastanza lontani …
Normalmente negli algoritmi non ci interessa il confronto, l'aggiunta o la sottrazione dei numeri - supponiamo che vengano eseguiti nel tempo . Ad esempio, assumiamo questo quando affermiamo che l'ordinamento basato sul confronto è , ma quando i numeri sono troppo grandi per essere inseriti nei registri, normalmente li rappresentiamo …
Alcuni anni fa, MapReduce è stato salutato come una rivoluzione della programmazione distribuita. Ci sono stati anche critici, ma in generale c'era un clamore entusiasta. È stato persino brevettato! [1] Il nome ricorda mape reducenella programmazione funzionale, ma quando leggo (Wikipedia) Passaggio della mappa: il nodo principale accetta l'input, lo …
Ti viene data una matrice di elementi2n2n2n a1,a2,…,an,b1,b2,…bna1,a2,…,an,b1,b2,…bna_1, a_2, \dots, a_n, b_1, b_2, \dots b_n Il compito è di intercalare l'array, usando un algoritmo sul posto in modo che assomigli all'array risultante b1,a1,b2,a2,…,bn,anb1,a1,b2,a2,…,bn,anb_1, a_1, b_2, a_2, \dots , b_n, a_n Se il requisito sul posto non fosse presente, potremmo facilmente …
Questa potrebbe essere una domanda ridicola, ma è possibile avere un problema che in realtà diventa più facile con l'aumentare delle dimensioni degli input? Dubito che eventuali problemi pratici siano così, ma forse possiamo inventare un problema degenerato che ha questa proprietà. Ad esempio, forse inizia a "risolversi" man mano …
Sto cercando di scrivere uno script che genera grafici casuali e ho bisogno di sapere se un bordo in un grafico ponderato può avere il valore 0. in realtà ha senso che 0 possa essere usato come peso di un bordo, ma ho lavorato con i grafici negli ultimi giorni …
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.