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 …
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 < …
Mi sono imbattuto in molti algoritmi di smistamento durante i miei studi alle superiori. Tuttavia, non so mai quale sia il più veloce (per una matrice casuale di numeri interi). Quindi le mie domande sono: Qual è l'algoritmo di ordinamento più veloce attualmente conosciuto? Teoricamente, è possibile che ce ne …
Ho appena iniziato a seguire un corso su Strutture di dati e algoritmi e il mio assistente di insegnamento ci ha fornito il seguente pseudo-codice per ordinare una matrice di numeri interi: void F3() { for (int i = 1; i < n; i++) { if (A[i-1] > A[i]) { …
Ho problemi a trovare buone risorse che danno il peggior caso in atto algoritmo di ordinamento stabile . Qualcuno sa di buone risorse?O ( n lnn )O(nlnn)O(n \ln n) Solo un promemoria, sul posto significa che utilizza l'array passato e che l'algoritmo di ordinamento è autorizzato a utilizzare solo spazio …
Mi chiedo se esiste un modo standard per misurare la "ordinamento" di un array? Un array che ha il numero medio di possibili inversioni sarebbe considerato al massimo indifferenziato? Con ciò voglio dire che è sostanzialmente il più lontano possibile dall'essere ordinati o in ordine inverso.
Quale sarebbe il modo più veloce per farlo (dal punto di vista algoritmico, oltre che pratico)? Stavo pensando qualcosa secondo le seguenti linee. Potrei aggiungere alla fine di un array e quindi usare bubblesort in quanto ha un caso migliore (array totalmente ordinato all'inizio) che è vicino a questo e …
È scritto su Wikipedia che "... l'ordinamento di selezione supera quasi sempre l'ordinamento a bolle e l'ordinamento di gnomi". Qualcuno può spiegarmi perché la selezione è considerata più veloce di quella a bolle anche se entrambi hanno: Peggior complessità del caso :O ( n2)O(n2)\mathcal O(n^2) Numero di confronti : O …
Ho un set di coppie. Ogni coppia ha la forma (x, y) in modo tale che x, y appartengano a numeri interi dell'intervallo [0,n). Quindi, se n è 4, allora ho le seguenti coppie: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) Ho già le coppie. Ora, devo costruire una combinazione usando …
Sto cercando un algoritmo per distribuire i valori da un elenco in modo che l'elenco risultante sia il più "bilanciato" o "uniformemente distribuito" possibile (tra virgolette perché non sono sicuro che questi siano i modi migliori per descriverlo ... in seguito fornirò un modo per misurare se un risultato è …
Un numero sorprendente di problemi ha riduzioni abbastanza naturali della programmazione lineare (LP). Vedi il capitolo 7 di [1] per esempi come flussi di rete, abbinamento bipartito, giochi a somma zero, percorsi più brevi, una forma di regressione lineare e persino valutazione del circuito! Poiché la valutazione del circuito si …
Nell'ordinamento radix ordiniamo prima per cifra meno significativa, quindi ordiniamo per seconda cifra meno significativa e così via e finiamo con un elenco ordinato. Ora, se abbiamo un elenco di numeri, abbiamo bisogno di bit per distinguere tra quei numeri. Quindi il numero di passaggi di ordinamento radix che facciamo …
Sul sito Web Algorithms di ordinamento viene fatta la seguente richiesta: L'algoritmo di ordinamento ideale avrebbe le seguenti proprietà: Stabile: le chiavi uguali non vengono riordinate. Funziona in posizione, richiedendo spazio extra.O ( 1 )O(1)O(1) Confronti chiave peggiore dei casi .O ( n ⋅ lg( n ) )O(n⋅lg(n))O(n\cdot\lg(n)) swap nel …
Trova il numero minimo di confronti necessari per ordinare (ordinare) cinque elementi e escogitare un algoritmo che ordina questi elementi usando questo numero di confronti. Soluzione : ce ne sono 5! = 120 possibili esiti. Pertanto, un albero binario per la procedura di ordinamento avrà almeno 7 livelli. In effetti, …
Gli algoritmi di ordinamento generici generalmente richiedono un set di dati per l'ordinamento e una funzione di confronto che può confrontare due singoli elementi. Se il comparatore è una relazione d'ordine¹, l'output dell'algoritmo è un elenco / array ordinato. Mi chiedo però quali algoritmi di ordinamento funzionerebbero effettivamente con un …
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.