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 …
Si dice spesso che la ricerca della tabella hash funzioni in tempo costante: si calcola il valore hash, che fornisce un indice per una ricerca di array. Eppure questo ignora le collisioni; nel peggiore dei casi, ogni oggetto atterra nello stesso bucket e il tempo di ricerca diventa lineare ( …
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]) { …
Cercando un array di elementi utilizzando ricerca binaria prende, nel peggiore dei casi di log 2 N iterazioni perché, ad ogni passo ci rifila la metà del nostro spazio di ricerca. Se invece avessimo usato la "ricerca ternaria", avremmo tagliato i due terzi del nostro spazio di ricerca ad ogni …
La complessità dell'algoritmo è progettata per essere indipendente dai dettagli di livello inferiore, ma si basa su un modello imperativo, ad esempio l'accesso alla matrice e la modifica di un nodo in un albero impiega il tempo O (1). Questo non è il caso di linguaggi puramente funzionali. L'elenco di …
Sono nuovo a comprendere gli algoritmi di informatica. Capisco il processo della ricerca binaria, ma sto riscontrando un leggero fraintendimento con la sua efficienza. In una dimensione di elementi, sarebbero necessari, in media, n passaggi per trovare un elemento particolare. Prendendo il logaritmo di base 2 di entrambi i lati …
Non sono nemmeno uno studente CS, quindi questa potrebbe essere una domanda stupida, ma per favore abbi pazienza con me ... Nell'era pre-computer, possiamo implementare solo una struttura di dati array con qualcosa come una matrice di cassetti. Poiché è necessario individuare il cassetto con l'indice corrispondente prima di estrarre …
Wikipedia e altre fonti che ho trovato elencano il voidtipo C come un tipo di unità anziché un tipo vuoto. Lo trovo confuso in quanto mi sembra che si voidadatti meglio alla definizione di un tipo vuoto / inferiore. voidPer quanto ne so, non abitano valori . Una funzione con …
È 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 …
Alcuni algoritmi complicati ( union-find ) hanno la funzione di Ackermann inversa quasi costante che appare nella complessità del tempo asintotico e sono ottimali nel caso peggiore se il termine di Ackermann inverso quasi costante viene ignorato. Esistono esempi di algoritmi noti con tempi di esecuzione che coinvolgono funzioni che …
Prima di leggere The Art of Computer Programming (TAOCP) , non ho esaminato a fondo queste domande. Userei lo pseudo codice per descrivere gli algoritmi, comprenderli e stimare il tempo di esecuzione solo sugli ordini di crescita. Il TAOCP mi cambia completamente idea. TAOCP usa l'inglese mescolato con passaggi e …
Ho il seguente codice Python. def collatz(n): if n <= 1: return True elif (n%2==0): return collatz(n/2) else: return collatz(3*n+1) Qual è il tempo di esecuzione di questo algoritmo? Provare: Se T(n)T(n)T(n) indica il tempo di esecuzione della funzione collatz(n). Quindi penso di avere ⎧⎩⎨T(n)=1 for n≤1T(n)=T(n/2) for n evenT(n)=T(3n+1) …
Noto che in alcuni articoli di ricerca CS, per confrontare l'efficienza di due algoritmi, viene utilizzato il numero totale di confronto chiave negli algoritmi anziché i tempi di calcolo reali. Perché non possiamo confrontare quale è meglio eseguendo entrambi i programmi e contando il tempo totale necessario per eseguire gli …
L'ordinamento rapido randomizzato è un'estensione dell'ordinamento rapido in cui l'elemento pivot viene scelto in modo casuale. Quale può essere la peggiore complessità temporale di questo algoritmo. Secondo me, dovrebbe essere O (n2)O(n2)O(n^2) , poiché il caso peggiore si verifica quando il perno scelto casualmente viene selezionato in ordine ordinato o …
Dalle risposte a (Quando) è la ricerca della tabella hash O (1)? , Mi risulta che le tabelle hash abbiano un comportamento nel caso peggiore di O ( 1 )O(1)O(1) , almeno ammortizzato, quando i dati soddisfano determinate condizioni statistiche e esistono tecniche per contribuire a rendere tali condizioni ampie. …
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.