Ich implementiere bestimmte Algorithmus und ich verwende in diesem Algorithmus map<string,map<string,double>>
. Es funktioniert perfekt und liefert korrekte Ergebnisse, aber wenn ich map<string,map<string,double>>
für unordered_map<string,map<string,double>>
ändere, funktioniert mein Algorithmus für bestimmte Eingaben nicht mehr.Karte vs ungeordnete Karte
Ich möchte fragen, ob mir etwas im Unterschied zwischen unordered_map
und map
fehlt. Gibt es etwas Wesentliches, das dies verursachen könnte?
EDIT: Es ist Floyd-Warshall-Algorithmus und ich glaube nicht, dass es ein Problem mit der Datensortierung sein wird. Onlt Sache, die ich Karte für verwende, ist nur für das Herstellen einer Matrix mit Informationen über Randwert zwischen 2 Knoten.
welche Algorithmen? Was meinst du mit "hört auf zu arbeiten"? – user1810087
Es kann sein, dass Ihr Programm zu einem bestimmten Zeitpunkt undefiniertes Verhalten aufruft, und dies passiert glücklicherweise, was Sie wollen mit 'map <,>', aber nicht mit 'unordered_map <,>'. Bitte posten Sie eine [MVCE] (https://stackoverflow.com/help/mcve). – cdhowie
Floyd-Warshall .. Ich kann das nicht veröffentlichen, deshalb frage ich, ob es irgendeinen Unterschied gibt, der dies verursachen könnte. Ich denke, dass es keinen Unterschied geben sollte. Nur in den Dingen wie Zeit Komplexität – scarface