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 …
So che le operazioni bit per bit sono così veloci sui processori moderni, perché possono operare su 32 o 64 bit in parallelo, quindi le operazioni bit per bit richiedono solo un ciclo di clock. Tuttavia, l'aggiunta è un'operazione complessa che consiste in almeno una e forse fino a una …
Domanda: "Alcune proprietà di un linguaggio di programmazione possono richiedere che l'unico modo per ottenere il codice scritto sia eseguito dall'interpretazione. In altre parole, la compilazione in un codice macchina nativo di una CPU tradizionale non è possibile. Quali sono queste proprietà?" Compilatori: principi e pratica di Parag H. Dave …
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 ( …
In che modo i computer sono in grado di comunicare sempre l'ora e la data corrette? Ogni volta che chiudo il computer (lo spengo) tutte le connessioni e i processi all'interno si arrestano. Come mai quando apro di nuovo il computer indica l'ora esatta esatta? Il computer non si spegne …
Sono un laureando CS. Capisco come Turing abbia inventato la sua macchina astratta (modellando una persona facendo un calcolo), ma mi sembra un'astrazione goffa e inelegante. Perché consideriamo un "nastro" e una testa di una macchina che scrive simboli, cambia stato, sposta il nastro avanti e indietro? Qual è il …
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 …
Ho sentito parlare dell'induzione (strutturale). Ti permette di costruire strutture finite da quelle più piccole e ti dà principi di prova per ragionare su tali strutture. L'idea è abbastanza chiara. Ma per quanto riguarda la coinduzione? Come funziona? Come si può dire qualcosa di conclusivo su una struttura infinita? Vi …
Le persone spesso dicono che i parser LR (k) sono più potenti dei parser LL (k) . Queste dichiarazioni sono vaghe per la maggior parte del tempo; in particolare, dovremmo confrontare le classi per un fisso o l'unione su tutto ? Allora, com'è davvero la situazione? In particolare, sono interessato …
Come ingegnere del software, scrivo molto codice per i prodotti industriali. Elementi relativamente complicati con classi, thread, alcuni sforzi di progettazione, ma anche alcuni compromessi per le prestazioni. Faccio molti test e sono stanco dei test, quindi mi sono interessato a strumenti di dimostrazione formale, come Coq, Isabelle ... Potrei …
Vorrei sapere se c'è stato qualche lavoro relativo alla complessità del codice legale. In particolare, supponiamo di avere il problema decisionale "Dato questo libro di legge e questo particolare insieme di circostanze, l'imputato è colpevole?" A quale classe di complessità appartiene? Ci sono risultati che hanno dimostrato che il gioco …
Attualmente sto finendo il mio Master in informatica. Sono interessato ai linguaggi di programmazione, in particolare ai sistemi di tipi. Mi sono interessato alla ricerca in questo campo e il prossimo semestre inizierò un dottorato di ricerca sull'argomento. Ora ecco la vera domanda: come posso spiegare cosa (voglio) fare alle …
Mi chiedo se è possibile creare compilatori per linguaggi dinamici come Ruby per avere prestazioni simili e comparabili a C / C ++? Da quello che ho capito sui compilatori, prendi Ruby per esempio, la compilazione del codice Ruby non può mai essere efficiente perché il modo in cui Ruby …
In lingue come C, il programmatore dovrebbe inserire chiamate gratuitamente. Perché il compilatore non lo fa automaticamente? Gli umani lo fanno in un ragionevole lasso di tempo (ignorando i bug), quindi non è impossibile. EDIT: per riferimento futuro, ecco un'altra discussione che ha un esempio interessante.
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 …
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.