Schneller Zugriff aus 2dim Elemente


  • Mod

    Sone schrieb:

    camper schrieb:

    hinundher schrieb:

    camper schrieb:

    distance_map::type m;
    
        m.insert(distance_map::value_type{ "A", "B", 10 });
        m.insert(distance_map::value_type{ "A", "B", 10 }); // ignoriert, Pfade sind unique
        m.insert(distance_map::value_type{ "B", "A", 11 });
        m.insert(distance_map::value_type{ "A", "A", 0 });
    

    Im Fall des TE macht die 3te Zeile aber keinen Sinn. Sind die selben Orte.

    Aber andere Richtung.

    Na und? Es zählt doch die Kombination.

    Schon mal auf Einbahnstraßen unterwegs gewesen?



  • Edit: Was hat eine Einbahnstraße mit einer Anordnung von Elementen zu tun? Klar, die Autos sollen die Gegenstücke im Analogieschluss sein, aber....


  • Mod

    Der TE redet von Ausgangs- und Zielorten. Da steht nicht, dass diese austauschbar sein sollen.
    Ohne den Kontext zu kennen, kann nicht einfach angenommen werden, das der Weg von A nach B gleich dem Weg von B nach A wäre.
    Und da die Mengen der Ausgangs- und Zielpunkte sowieso disjunkt sein sollen, kommt es darauf für den TE sowieso nicht an, mithin besteht auch gar keine Notwendigkeit, darauf speziell einzugehen.
    Wenn eine solche Nebenabrede getroffen werden soll, muss der Ordnungsindex eben entsprechend angepasst werden (z.B. statt pair<A,B> ordered_pair<A,B> als Vergleichsobjekt).



  • camper schrieb:

    Ohne den Kontext zu kennen, kann nicht einfach angenommen werden, das der Weg von A nach B gleich dem Weg von B nach A wäre.

    Ja, du hast Recht. Ich dachte, Köln--Düsseldorf wäre umgekehrt genauso schnell, aber vielleicht fliegt man ja eine Umleitung o.ä.



  • Sone schrieb:

    Edit: Was hat eine Einbahnstraße mit einer Anordnung von Elementen zu tun? Klar, die Autos sollen die Gegenstücke im Analogieschluss sein, aber....

    Stichwort: gerichtete gewichtete Graphen



  • camper schrieb:

    Der TE redet von Ausgangs- und Zielorten. Da steht nicht, dass diese austauschbar sein sollen.
    Ohne den Kontext zu kennen, kann nicht einfach angenommen werden, das der Weg von A nach B gleich dem Weg von B nach A wäre.
    Und da die Mengen der Ausgangs- und Zielpunkte sowieso disjunkt sein sollen, kommt es darauf für den TE sowieso nicht an, mithin besteht auch gar keine Notwendigkeit, darauf speziell einzugehen.
    Wenn eine solche Nebenabrede getroffen werden soll, muss der Ordnungsindex eben entsprechend angepasst werden (z.B. statt pair<A,B> ordered_pair<A,B> als Vergleichsobjekt).

    das hast du dir aus den fingern gesaugt 😉
    klar sind andere entfernungen denkbar, im sinne von len(A,B) != len(B,A), eben undendlich viele und so viel speicher haben wir momentan noch nicht ganz zur verfügung.

    Thomas1982 schrieb:

    Ich habe eine große Matrix, in der Entfernungen zwischen Städten/Orten
    enthalten sind (Zeilen = Ausgangsorte, Spalten = Zielorte, wobei Ausgangsorte != Zielorte, also 2 verschiedenen Mengen).

    es könnte eventuell sinnvoll sein, wenn du deine matrix so aufbauen würdest ( falls sie nicht schon so aufgebaut ist ), dass sie den anforderungen des dijkstra algorithmus genügt:
    http://de.wikipedia.org/wiki/Dijkstra-Algorithmus



  • xyz offgeloggt schrieb:

    camper schrieb:

    Der TE redet von Ausgangs- und Zielorten. Da steht nicht, dass diese austauschbar sein sollen.
    Ohne den Kontext zu kennen, kann nicht einfach angenommen werden, das der Weg von A nach B gleich dem Weg von B nach A wäre.
    Und da die Mengen der Ausgangs- und Zielpunkte sowieso disjunkt sein sollen, kommt es darauf für den TE sowieso nicht an, mithin besteht auch gar keine Notwendigkeit, darauf speziell einzugehen.
    Wenn eine solche Nebenabrede getroffen werden soll, muss der Ordnungsindex eben entsprechend angepasst werden (z.B. statt pair<A,B> ordered_pair<A,B> als Vergleichsobjekt).

    das hast du dir aus den fingern gesaugt 😉

    y, ist ja auch fern von jeder realität - stimmt...

    xyz offgeloggt schrieb:

    klar sind andere entfernungen denkbar, im sinne von len(A,B) != len(B,A), eben undendlich viele und so viel speicher haben wir momentan noch nicht ganz zur verfügung.

    Thomas1982 schrieb:

    Ich habe eine große Matrix, in der Entfernungen zwischen Städten/Orten
    enthalten sind (Zeilen = Ausgangsorte, Spalten = Zielorte, wobei Ausgangsorte != Zielorte, also 2 verschiedenen Mengen).

    es könnte eventuell sinnvoll sein, wenn du deine matrix so aufbauen würdest ( falls sie nicht schon so aufgebaut ist ), dass sie den anforderungen des dijkstra algorithmus genügt:
    http://de.wikipedia.org/wiki/Dijkstra-Algorithmus

    ach - man sollte also nicht davon ausgehen, dass es negativ gewichtete kanten gibt... komisch 😮



  • Was sollen dieses riesen boost und trimap gedöns? Die ersten von SeppJ und hustbaer vorgeschlagen maps tun es vollkommen. Wenn es richtungsunabhängig sein soll, dann halt die Stadte alphabetisch sortieren.
    Wieso hat man hier immer das gefühl, dass manche leute alles kompliziert machen müssen, nur weil sie es können. 🙄



  • yoodoochile schrieb:

    Was sollen dieses riesen boost und trimap gedöns? Die ersten von SeppJ und hustbaer vorgeschlagen maps tun es vollkommen. Wenn es richtungsunabhängig sein soll, dann halt die Stadte alphabetisch sortieren.
    Wieso hat man hier immer das gefühl, dass manche leute alles kompliziert machen müssen, nur weil sie es können. 🙄

    Wenn der TE seine Lösung schon hat, braucht er nicht weiterzulesen. Das Prinzip ist, wenn er es tut - hat er hier noch "mehr".



  • irgendwann gibts hier für ne addition von 2 zahlen noch was mit boost mpl


Anmelden zum Antworten