Bibliothèque de classes génériques - bogues, description, questions, caractéristiques d'utilisation et suggestions - page 2
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Temps moyen O(1) pire O(n) et les performances dépendent fortement du hachage.
O(n) - c'est si vous allez tête à tête.
Depuis le 6 décembre 2017, le jeu de livraison standard de MetaTrader 5 comprend les classes dites génériques, qui mettent en œuvre des algorithmes efficaces de stockage et d'extraction des données. Cette branche est créée pour décrire ces classes, des exemples de travail avec elles et pour des suggestions sur la façon d'améliorer leur travail.
Qu'est-ce que le générique ? Les génériques sont des classes de modèles spéciales qui peuvent stocker des types de données personnalisés. L'identification des types est effectuée au moment de la compilation, ce qui permet d'obtenir des performances élevées.
Pourquoi le générique ? En général, les programmeurs novices ne connaissent qu'un seul type de collections : les tableaux. Mais il existe de nombreuses tâches pour lesquelles le travail avec un tableau est inefficace. Imaginons que nous ayons un tableau composé d'un million d'identifiants uniques, par exemple un millier de commandes. Comment vérifier s'il existe une commande portant le numéro N dans ce millier de commandes ? Si nous utilisons l'une des classes génériques, cette tâche peut être accomplie presque immédiatement, en un temps constant, qui ne dépend pas du nombre d'éléments que nous recherchons. Il existe d'autres problèmes, où l'algorithme correct de la collection générique peut être plus rapide que l'algorithme inventé par le programmeur.
C'est un thème intéressant.
Personnellement, je pense qu'il n'y a rien de plus efficace en programmation que d'organiser les données dans des tableaux et de travailler correctement avec ces tableaux dans des boucles. C'est la base de l'essentiel. Toutes les autres solutions sont des dérivés, qui prennent du temps informatique supplémentaire et créent des frais généraux.
Tableaux globaux, tableaux locaux, boucles et fonctions. Tout.
Ceux qui maîtrisent habilement ces outils auront une longueur d'avance sur tous les autres en matière d'efficacité.
imho.
Je suggère de simplifier les noms - de les rendre plus logiques. Par exemple, CArrayList est-il un tableau ou une liste dans mql5, une implémentation des deux ?
Tout cela est source de questions et de confusion. IMHO, nous devrions utiliser stl et non C# ou Java. Ou bien supprimer le C devant, pour que ce soit juste ArrayList.
...
Au contraire, j'aime beaucoup utiliser C#.
Je l'ai dit très clairement.
Regardez ce qui est mis en évidence.
Si vous pouvez donner des exemples, par exemple de la recherche parmi des milliers d'offres.
OK.
Il s'agit d'un sujet intéressant.
Personnellement, je pense qu'il n'y a rien de plus efficace en programmation que de savoir comment organiser correctement les données dans des tableaux et comment travailler correctement avec ces tableaux dans des boucles. C'est la base de l'essentiel. Toutes les autres solutions sont des dérivés, qui prennent du temps informatique supplémentaire et créent des frais généraux.
Tableaux globaux, tableaux locaux, boucles et fonctions. Tout.
Les programmeurs qui maîtrisent parfaitement ces outils auront une longueur d'avance sur tous les autres en matière d'efficacité.
imho.
Peter, ralentissez, s'il vous plaît. Il s'agit d'une discussion sur les nouvelles classes SB, pas de vos déclarations abstraites. S'il vous plaît, ne détournez pas le sujet sur le côté. Merci.
Peter, ralentissez, s'il vous plaît. Il s'agit d'une discussion sur les nouvelles classes SB, pas de vos déclarations abstraites. S'il vous plaît, ne prenez pas le sujet à contre-pied. Merci.
Ai-je droit à mon opinion ? Ou est-ce intolérable pour vous ?
Ai-je le droit d'exprimer mon opinion ? Ou est-ce intolérable pour vous ?
Votre opinion est généralement un traité sur Guerre et Paix en trois volumes. Il est donc préférable de s'abstenir.
Note - il s'agit d'une deuxième demande d'un modérateur.
O(n) est pour le tête-à-tête.
Non. O(n) est dû aux collisions de hachage dans de très rares cas. Il s'agit d'estimations de la complexité de l'algorithme optimal. Le nombre de collisions est lié à la charge de la mémoire.
Dans le cas normal, il n'est pas nécessaire d'effectuer une recherche, car en calculant le hachage, nous connaissons déjà l'emplacement de l'élément souhaité.