
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Quindi, se un ordine viene chiuso, deve essere "cancellato" dall'array. In questi casi, ero solito copiare l'array "in se stesso" e ridurre la dimensione di uno.
In tal caso, scriverei un biglietto inesistente nell'array -1 , aspetterei che tutti gli ordini siano stati chiusi e cancellerei l'intero array (la dimensione dell'array dovrebbe essere impostata a 1).
In questo approccio, un elemento dell'array di biglietti (se non c'è un ordine) viene controllato con una sola condizione: if(ArrayOfTicket[i] > 0) .....
imho, è più veloce che "scuotere" costantemente l'array
In questo caso, scriverei un biglietto inesistente nell'array -1, aspetterei che tutti gli ordini fossero chiusi e cancellerei l'intero array (dimensione dell'array = 1).
In questo approccio, un elemento dell'array di biglietti (se non c'è un ordine) viene controllato con una sola condizione: if(ArrayOfTicket[i] > 0) .....
imho, è più veloce che "scuotere" costantemente l'array
Non capisco... Che differenza fa se cancellare elemento per elemento o controllare gli indici di ordini inesistenti... l'array è scosso comunque...
Comunque, come hanno detto oggi al telegiornale, è impossibile brevettare il sapore. I floureshers sono diversi solo nel colore, ma hanno tutti lo stesso sapore.
Non capisco... Che differenza fa se vuoi cancellare gli elementi uno per uno o controllare gli indici di ordini inesistenti... L'array viene superato comunque...
Comunque, come hanno detto oggi al telegiornale, è impossibile brevettare il sapore. I floureshers sono diversi solo nel colore, ma hanno tutti lo stesso sapore.
Cancellare un elemento implica copiare i restanti elementi dell'array, non cancello elementi dell'array, contrassegno elementi non esistenti (biglietti) con il valore -1, e cancello un array di biglietti quando non ci sono ordini di mercato
Per quanto riguarda i marcatori di galleggiamento, è sicuramente vero, dipende dal problema, in linea di principio, ci sono di solito 2 soluzioni durante l'ottimizzazione:
- o aggiungere complessità all'algoritmo, ma risparmiare memoria e risorse di calcolo del PC
- o semplificare l'algoritmo e risparmiare risorse di calcolo ma sprecare memoria
Il checksum non è corretto, se c'è 0 nell'array potrebbe esserci un errore
La variante di Nikitin funziona proprio su un errore del genere.
Il checksum non è corretto, se c'è 0 nell'array potrebbe esserci un errore
La variante di Nikitin funziona proprio per un tale errore.
Sì, hai ragione. Solo Nikitin ha inoltre buttato fuori zero elementi. Ecco perché il suo codice sembrava difettoso. In realtà si trattava di risolvere il compito che si era prefissato all'inizio.
Se documentate il suo controllo degli elementi nulli, il risultato è lo stesso:
Di nuovo, il checksum ora tiene conto dell'ordine degli elementi, prima non lo faceva.
Sì, hai ragione. Solo che Nikitin lanciava anche altri elementi nulli. Ecco perché il suo codice sembrava sbagliato. In realtà si trattava di risolvere il compito che si era prefissato all'inizio.
Se documentate il suo controllo degli elementi nulli, il risultato è lo stesso:
Di nuovo, il checksum ora tiene conto dell'ordine degli elementi, prima non lo faceva.
A proposito, se l'ordine è molto importante, potete aggiungere ArraySort alla fine della mia variante e vedere quanto sia efficace ArraySort.
Ora mi interessa un'altra domanda, alla quale non riesco a trovare una risposta.
Forse qualcuno può spiegare perché questa variante dal codice di Kuznetsov:
funziona più del doppio più velocemente di questo, che fa esattamente la stessa cosa:
Quali sono le meraviglie del compilatore?
È possibile che per un tale disegno:
while(arr[i]!=x && i<j) i++;
il compilatore trova qualche comando speciale di ricerca dell'assemblatore per il processore?
Qualcuno è forte nei comandi dei processori moderni?
A proposito, se l'ordine è molto importante, posso aggiungere ArraySort alla fine della mia versione, allo stesso tempo vediamo quanto è efficace ArraySort.
L'ho provato. È una funzione abbastanza costosa. Però è più facile da buttare via dopo. Tutti quelli necessari vanno in fila.
Sì, hai ragione. Solo Nikitin lanciava oggetti nulli in aggiunta. Ecco perché il suo codice sembrava sbagliato. In realtà era il compito che avevi definito all'inizio.
Se documentate il suo controllo per gli elementi nulli, il risultato è lo stesso:
:
funziona più del doppio più velocemente di uno che fa esattamente la stessa cosa:
l'ottimizzatore è irrilevante - i confronti sono meno della metà...