Biblioteca de classes genéricas - bugs, descrição, perguntas, recursos de uso e sugestões - página 2
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
A média de tempo O(1) pior O(n) e desempenho é fortemente dependente de haxixe.
O(n) - isso é se você for frente a frente.
A partir de 6 de dezembro de 2017, o conjunto de entrega padrão MetaTrader 5 inclui as chamadas classes genéricas, que implementam algoritmos eficientes para armazenamento e extração de dados. Este ramo é criado para descrever estas aulas, exemplos de trabalho com elas e para sugestões de como melhorar o seu trabalho.
O que é genérico? Genérico é uma classe de modelo especial que pode armazenar tipos de dados personalizados. A identificação do tipo é realizada no momento da compilação e, portanto, o alto desempenho é alcançado.
Porquê genérico? Normalmente os programadores novatos estão familiarizados com apenas um tipo de colecções: um array. Mas há muitas tarefas em que trabalhar com uma matriz é ineficaz. Imagine que temos um conjunto composto por um milhão de identificadores únicos, por exemplo, mil pedidos. Como verificar se existe uma encomenda com o número N neste milhar de encomendas? Se utilizarmos uma das classes genéricas, esta tarefa pode ser realizada quase imediatamente, em um tempo constante, o que não depende do número de elementos que estamos procurando. Existem outros problemas, onde o algoritmo correto da coleção genérica pode ser mais rápido do que o algoritmo inventado pelo programador.
É um tema interessante.
Pessoalmente, acho que não há nada mais eficiente na programação do que organizar os dados dentro das matrizes e trabalhar corretamente com essas matrizes em loops. Esta é a base do básico. Todas as outras soluções são derivadas, que consomem tempo adicional de computador e criam despesas gerais.
Arrays globais, arrays locais, loops e funções. Tudo.
Aqueles que são mestres hábeis nestas ferramentas estarão à frente de todos os outros em eficiência.
imho.
Sugiro simplificar os nomes - torná-los mais lógicos. Por exemplo, a CArrayList é um Array ou List em mql5 uma implementação de ambos?
Tudo isto leva a perguntas e confusão. IMHO, devemos usar stl e não C# ou Java. Ou remova C na frente dele, que seja apenas a ArrayList.
...
Pelo contrário, eu gosto muito de usar C#.
Eu disse-o muito claramente.
Vejam o que está destacado.
Se você puder dar exemplos, por exemplo, sobre a busca entre milhares de negócios.
ESTÁ BEM.
Este é um tópico interessante.
Pessoalmente, acho que não há nada mais eficaz na programação do que saber como organizar corretamente os dados dentro das arrays e como trabalhar corretamente com essas arrays em loops. Esta é a base do básico. Todas as outras soluções são derivadas, que levam tempo adicional de computador e criam despesas gerais.
Arrays globais, arrays locais, loops e funções. Tudo.
Os programadores que conseguem dominar estas ferramentas com maestria estarão à frente de todos os outros em eficiência.
imho.
Peter, mais devagar, por favor. Esta é uma discussão sobre novas aulas de SB, não sobre suas declarações abstratas. Por favor, não desvie o tópico para o lado. Obrigado.
Peter, por favor, abranda. Esta é uma discussão sobre as novas aulas de SB, não sobre suas declarações abstratas. Por favor, não leve o tópico para o lado. Obrigado.
Tenho direito à minha opinião? Ou é intolerável para si?
Tenho o direito de expressar a minha opinião? Ou é intolerável para si?
Sua opinião é normalmente um tratado sobre Guerra e Paz em três volumes. Por isso é melhor abster-se.
Nota - este é um segundo pedido de um moderador.
O(n) é para frente a frente.
Não. O(n) é devido a colisões de hash em casos muito raros. Estas são estimativas de complexidade para o algoritmo ideal. O número de colisões está relacionado com a sobrecarga de memória
No caso normal não há essencialmente necessidade de procurar, porque ao calcular o hash já sabemos essencialmente a localização do elemento desejado