Löschen eines Arrays mit definierten Element(en) - Seite 25

 
Sergey Dzyublik:

Ich würde die HashSet-Datenstruktur für Werte verwenden.
Die Komplexität wäre: O(n) + O(m)

Für die vorgeschlagene binäre Suche wäre die Komplexität: O(n log(m))


Welche Bibliothek verwenden Sie für Hash-Sets? Die, die ich für MQL gesehen habe, sind langsamer als die binäre Suche ...

 

Ich habe die Testparameter (für die neue Aufgabe) so geändert, dass das Verhältnis von eindeutigen Nummern zu eindeutigen Filtern 2:1 beträgt.
Dateien:
 

Geringfügige Änderungen.

P.S. leicht korrigiert

Dateien:
 

Öffnen Sie das Projekt ArrayDeleteValue.
Wir wollen mehr Spaß haben

P.S. Alle Funktionen werden in Dateien verteilt. Es ist einfacher, jedes einzelne Dokument zu bearbeiten.

 

Ich möchte allen von ganzem Herzen danken, in 10 Jahren habe ich keinen produktiveren Thread in diesem Forum gesehen!
Ich danke Ihnen allen für Ihre Aufmerksamkeit, für Ihre konkreten Beispiele und für Ihre konstruktive Kommunikation!
Meiner Meinung nach kann dieser Thread ein Beispiel dafür sein, wie man miteinander kommuniziert und sich gegenseitig hilft!
Nochmals herzlichen Dank!

👍👍👍👍👍👍👍👍

 

Ich wollte niemanden beleidigen und habe den Beitrag gelöscht, in dem ich auf die Angriffe auf meinen Algorithmus geantwortet habe, aber ich dachte, dass es für Programmierer klarer sein sollte, warum er eine falsche Prüfsumme hat und was sein Unterschied zu anderen ist - er behält einfach nicht nur die Reihenfolge der Elemente im Array, sondern auch ihre Positionen, natürlich mit Ausnahme der gelöschten Elemente.


Kurz gesagt, diejenigen, die den Code geschrieben haben, werden verstehen, ob er nützlich ist oder nicht, während die Profis nicht beleidigt sein sollten, aber die Seite ist nicht für Sie... :)

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

Ich wollte niemanden beleidigen und habe den Beitrag gelöscht, in dem ich auf die Angriffe auf meinen Algorithmus geantwortet habe, aber ich dachte, dass es für Programmierer klargestellt werden sollte , warum er eine falsche Prüfsumme hat und was sein Unterschied zu anderen ist - er behält einfach nicht nur die Reihenfolge der Elemente im Array, sondern auch ihre Positionen, natürlich mit Ausnahme der gelöschten.


Kurz gesagt, diejenigen, die den Code geschrieben haben, werden verstehen, ob er nützlich ist oder nicht, während die Profis nicht beleidigt sein sollten, aber die Seite ist nicht für Sie... :)

Ich habe weiter oben schon angedeutet, dass eine Prüfsumme überhaupt keinen Sinn macht. Es gibt eingehende Daten, es gibt ein Benchmark-Ergebnis.
Es ist notwendig, die Ergebnisse der Durchgänge mit der verfügbaren, sicheren Referenz zu vergleichen. Es besteht keine Notwendigkeit, zwei Arrays O(n) zu vergleichen, der einzige Vorteil besteht darin, so schnell wie möglich ein ungefähres Ergebnis zu erhalten . Der Experimentator ein wenig früher (um einige Sekunden/Minuten)
filtert genau die falschen Ergebnisse heraus.

 
Konstantin Nikitin:

Projekt öffnen ArrayDeleteValue.
Wir wollen mehr Spaß haben

P.S. Alle Funktionen sind auf Dateien verteilt. Es ist einfacher, jeden einzelnen zu korrigieren.

verschiedene Maschinen haben unterschiedliche Ergebnisse, die fast um den Faktor zwei variieren, so dass nicht einmal klar ist, ob das überhaupt Sinn macht.

Iwan Negreshniy:

Kurz gesagt, diejenigen, die den Code geschrieben haben, werden verstehen, es ist nützlich oder Fehler, und Professoren nicht beleidigt sein, aber diese Seite ist nicht für Sie... :)

Sie irren sich, aber Sie sollten den Thread lesen, bevor Sie ihn betreten.

 
Ivan Negreshniy:

...

Ja, aber sonst schöne Marquise, alles ist gut, alles ist gut...

 
Stanislav Dray:

verschiedene Maschinen haben unterschiedliche Ergebnisse, die fast um den Faktor zwei variieren, so dass es nicht einmal klar ist, ob das überhaupt Sinn macht.

Sie irren sich, aber um es zu verstehen, müssen Sie wahrscheinlich den Thread lesen, bevor Sie ihn "von unten" betreten.

wenn der richtige Weg darin besteht, zwei Algorithmen für dieselbe Sache zu vergleichen, dann

- Diagramme erstellt werden. Wenn bei Änderung der Bedingungen (z.B. Volumen eines Arrays) alg. A, grün gezeichnet, schlägt eindeutig B, blau gezeichnet, wir können daraus schließen, dass alg.A "schneller" ist.

- Sie werden auch feststellen, dass die Geschwindigkeit nicht nur von der anfänglichen Größe des Arrays abhängt, sondern auch von der Anzahl der zu löschenden Elemente und sogar von deren Position.

- d.h. die Graphen sind mindestens zweidimensional (das sind Flächen) und es ist notwendig, die Randfälle zu betrachten

wie es ist :-)