Effacement d'un tableau d'élément(s) défini(s) - page 25

 
Sergey Dzyublik:

J'utiliserais la structure de données HashSet pour les valeurs.
La complexité serait : O(n) + O(m)

Pour la recherche binaire proposée, la complexité serait : O(n log(m))


Quelle bibliothèque utilisez-vous pour les ensembles de hachage ? Ceux que j'ai vus pour MQL sont plus lents que la recherche binaire ...

 

J'ai modifié les paramètres du test (pour la nouvelle tâche) afin de refléter un rapport de 2:1 entre les numéros uniques et les filtres uniques.
Dossiers :
 

Changements mineurs.

P.S. légèrement corrigé

Dossiers :
 

Ouvrez le projet ArrayDeleteValue.
Amusons-nous un peu plus

P.S. Toutes les fonctions sont distribuées dans des fichiers. C'est plus facile d'éditer chacun d'entre eux

 

Je tiens à remercier sincèrement tout le monde du fond du cœur, en 10 ans je n'ai pas vu un fil de discussion plus productif sur ce forum !
Merci beaucoup à tous pour votre attention, pour vos exemples concrets, pour votre communication constructive !
À mon avis, ce fil de discussion peut être un exemple de la façon de communiquer et de s'entraider !
Encore une fois, merci beaucoup !

👍👍👍👍👍👍👍👍

 

Je ne voulais offenser personne et j'ai supprimé le message où je répondais aux attaques concernant mon algorithme, mais j'ai pensé qu'il fallait clarifier pour les programmeurs pourquoi il a une somme de contrôle erronée et quelle est sa différence avec les autres - il conserve simplement non seulement l'ordre des éléments dans le tableau mais aussi leur position, bien sûr, sauf pour les éléments supprimés.


En bref, ceux qui ont écrit du code comprendront si c'est utile ou non, tandis que les proffesseurs ne seront pas offensés, mais le site n'est pas pour vous... :)

Очистка массива от заданного (ых) элементов
Очистка массива от заданного (ых) элементов
  • 2018.11.16
  • www.mql5.com
Есть массив содержащий набор данных по типу 1,2,3,6,9,5,6,3,25,6,8,7,4 нужно удалить например значения 3 и на выходе получить тот же массив без 3 и...
 
Ivan Negreshniy:

Je ne voulais offenser personne et j'ai supprimé le message où je répondais aux attaques concernant mon algorithme, mais j'ai pensé qu'il fallait clarifier pour les programmeurs pourquoi il a une somme de contrôle erronée et quelle est sa différence avec les autres - il conserve simplement non seulement l'ordre des éléments dans le tableau mais aussi leur position, bien sûr, sauf pour les éléments supprimés.


En bref, ceux qui ont écrit du code comprendront si c'est utile ou non, tandis que les proffesseurs ne seront pas offensés, mais le site n'est pas pour vous... :)

J'ai laissé entendre quelque part au-dessus qu'il n'y a aucun intérêt à avoir une somme de contrôle du tout. Il y a des données entrantes, il y a un résultat de référence.
Il est nécessaire de comparer les résultats des passages avec la référence disponible et sûre. Il n'est pas nécessaire de comparer deux tableaux O(n), le seul avantage est d'obtenir un résultat approximatif le plus rapidement possible . L'expérimentateur un peu plus tôt (de quelques secondes/minutes)
sélectionne exactement les mauvais résultats.

 
Konstantin Nikitin:

Projet ouvert ArrayDeleteValue.
Amusons-nous un peu plus

P.S. Toutes les fonctions sont réparties entre les fichiers. Il est plus facile de corriger chacun d'entre eux.

Les résultats varient d'une machine à l'autre, presque du simple au double, de sorte qu'il n'est même pas certain que cela ait un sens.

Ivan Negreshniy:

Bref, ceux qui ont écrit du code comprendront, c'est utile ou c'est une erreur, et les professeurs ne s'en offusquent pas, mais ce site n'est pas pour vous... :)

Vous avez tort, mais vous devriez probablement lire le fil de discussion avant d'y entrer.

 
Ivan Negreshniy:

...

Oui, mais sinon belle marquise, tout va bien, tout va bien...

 
Stanislav Dray:

Les résultats varient d'une machine à l'autre, presque du simple au double, de sorte qu'il n'est même pas certain que cela ait un sens.

vous avez tort, mais pour le comprendre, vous devez probablement lire le fil avant d'y entrer "de pied ferme".

si la bonne méthode consiste à comparer deux algorithmes sur la même chose, alors

- des graphiques sont réalisés. Si lors d'un changement de conditions (volume d'un tableau par exemple) alg. A dessiné en vert bat clairement B dessiné en bleu, nous pouvons conclure que alg.A est "plus rapide".

- Vous remarquerez également que la vitesse dépend non seulement de la taille initiale du tableau, mais aussi du nombre d'éléments à supprimer et même de leur emplacement.

- c'est-à-dire que les graphes sont au moins bidimensionnels (c'est-à-dire des surfaces) et qu'il est nécessaire d'examiner les cas limites.

tel qu'il est :-)