Domande sulla scienza e l'arte di determinare le proprietà degli algoritmi, tra cui la correttezza, il tempo di esecuzione e l'utilizzo dello spazio. Utilizzare il tag [runtime-analysis] per domande sul runtime degli algoritmi.
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 …
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 …
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 …
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 …
Sto leggendo un libro intitolato Principles of Computer Science (2008), di Carl Reynolds e Paul Tymann (pubblicato da Schaum's Outlines). Il secondo capitolo introduce algoritmi con un esempio di una ricerca sequenziale che scorre semplicemente attraverso un elenco di nomi e restituisce VERO se un determinato nome viene trovato nell'elenco. …
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 …
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.
È noto che questo algoritmo 'ingenuo' per mescolare un array scambiando ogni elemento con un altro scelto casualmente non funziona correttamente: for (i=0..n-1) swap(A[i], A[random(n)]); In particolare, poiché a ciascuna delle iterazioni viene fatta una delle scelte (con probabilità uniforme), ci sono possibili "percorsi" attraverso il calcolo; perché il numero …
Oggi abbiamo discusso in una lezione un algoritmo molto semplice per trovare un elemento in un array ordinato usando la ricerca binaria . Ci è stato chiesto di determinare la sua complessità asintotica per una serie di nnn elementi. La mia idea era, che è obvisously O(logn)O(logn)O(\log n) , o …
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 …
Mi è stato assegnato un esercizio nella mia università. L'ho portato a casa e ho provato a programmare un algoritmo per risolverlo, era qualcosa legato ai grafici, alla ricerca di componenti collegati, immagino. Poi ho fatto la cosa più banale che mi è venuta in mente e poi ho mostrato …
Ho un algoritmo avido che sospetto possa essere corretto, ma non ne sono sicuro. Come posso verificare se è corretto? Quali sono le tecniche da utilizzare per dimostrare che un algoritmo avido è corretto? Ci sono modelli o tecniche comuni? Spero che questo diventerà una domanda di riferimento che può …
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 …
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.