Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Portanto, se uma ordem é fechada, ela deve ser "riscada" da matriz. Nesses casos, eu costumava copiar a matriz "em si mesma" e reduzir o tamanho em um.
Nesse caso, eu escreveria um bilhete inexistente na matriz -1 , esperaria até que todos os pedidos fossem fechados e apagaria toda a matriz (o tamanho da matriz deve ser ajustado para 1).
Nesta abordagem, um elemento do conjunto de bilhetes (se não houver ordem) é verificado com apenas uma condição: if(ArrayOfTicket[i] > 0) .....
imho, é mais rápido do que "sacudir" constantemente a matriz
Nesse caso, eu escreveria um bilhete inexistente no array -1 , esperaria até que todos os pedidos fossem fechados e apagaria o array inteiro (tamanho do array = 1).
Nesta abordagem, um elemento do conjunto de bilhetes (se não houver ordem) é verificado com apenas uma condição: if(ArrayOfTicket[i] > 0) .....
imho, é mais rápido do que "sacudir" constantemente a matriz
Eu não entendo... Que diferença faz se apagar elemento por elemento ou verificar os índices de ordens inexistentes... a matriz é abalada de qualquer forma...
De qualquer forma, como eles disseram nas notícias de hoje, é impossível patentear o sabor. Os floureshers só diferem na cor, mas todos eles têm o mesmo sabor.
Eu não entendo... Que diferença faz se você quer apagar itens um a um ou verificar índices de ordens inexistentes... De qualquer forma, a matriz é ultrapassada...
De qualquer forma, como eles disseram nas notícias de hoje, é impossível patentear o sabor. Os floureshers só diferem na cor, mas todos eles têm o mesmo sabor.
Eliminar um elemento implica copiar os elementos restantes da matriz, não elimino elementos da matriz, marco elementos inexistentes (bilhetes) com valor -1, e elimino uma matriz de bilhetes quando não há ordens de mercado
Quanto aos marcadores de flutuação, é definitivamente verdade, depende do problema, em princípio, há normalmente 2 soluções durante a otimização:
- ou acrescentar complexidade ao algoritmo, mas salvar a memória e os recursos computacionais do PC
- ou simplificar o algoritmo e economizar recursos computacionais, mas desperdiçar memória
O checksum não está correto, se houver 0 na matriz pode haver um erro
A variante de Nikitin trabalha exatamente em tal erro.
O checksum não está correto, se houver 0 na matriz pode haver um erro
A variante de Nikitin funciona exatamente para tal erro.
Sim, você está certo. Somente Nikitin adicionalmente jogou fora zero elementos. É por isso que seu código parecia estar com defeito. Na verdade, era resolver a tarefa que você havia definido originalmente.
Se você documentar seu cheque por elementos nulos, o resultado é o mesmo:
Mais uma vez, o checksum agora leva em conta a ordem dos elementos, o que não acontecia antes.
Sim, você está certo. Somente Nikitin também estava jogando fora elementos nulos adicionais. É por isso que seu código parecia errado. Na verdade, era resolver a tarefa que você havia definido originalmente.
Se você documentar seu cheque para itens nulos, o resultado é o mesmo:
Mais uma vez, o checksum agora leva em conta a ordem dos elementos, o que não acontecia antes.
A propósito, se a ordem for muito importante, você pode adicionar ArraySort no final da minha variante e ver o quão eficaz é o ArraySort.
Agora estou interessado em outra pergunta, para a qual não consigo encontrar resposta.
Talvez alguém possa explicar por que esta variante do código de Kuznetsov:
funciona mais que o dobro da velocidade deste, que faz exatamente a mesma coisa:
Quais são as maravilhas do compilador?
É possível que para um projeto desse tipo:
while(arr[i]!=x && i<j) i++;
o compilador encontra algum comando especial de busca do assembler para o processador?
Alguém é forte nos comandos dos processadores modernos?
A propósito, se a ordem é muito importante, posso adicionar o ArraySort no final de minha versão, ao mesmo tempo vamos ver o quão eficaz é o ArraySort.
Eu já tentei. É uma função bastante dispendiosa. É mais fácil jogar fora depois, porém. Todos os necessários vão em fila.
Sim, você está certo. Somente Nikitin estava jogando itens nulos além disso. É por isso que seu código parecia errado. Na verdade, era a tarefa que você havia definido logo no início.
Se você documentar seu cheque para itens nulos, o resultado é o mesmo:
:
funciona mais do dobro da velocidade de um que faz exatamente a mesma coisa:
o otimista é irrelevante - as comparações são menos da metade.