<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[performance frage]]></title><description><![CDATA[<p>Hallo,</p>
<p>mein programm liest aus einer txt datei jede zeile und speichert es in einem vector&lt;string&gt;.</p>
<p>das mache ich mit getline.</p>
<p>die txt datei hat 567 zeilen.</p>
<p>jede zeile im vector muss mit jeder zeile im vector verglichen werden.<br />
das sind insgesammt also 321489 vergleiche.<br />
Und jeder string wird nochmal aufgesplitet um die werte in double zu speichern.</p>
<p>aufsplitten tue ich die werde mit istringstream.<br />
und ich konvertiere string zu double mit stringstream.</p>
<p>nach jedem durchgang wird ein ergenis per fstream in einen .ini datei geschrieben.</p>
<p>mein computer braucht für diese berechnungen 5sec, was mir sehr lange vorkommt.<br />
Was meint ihr dazu ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/292531/performance-frage</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 20:03:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292531.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Sep 2011 10:06:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 10:06:58 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>mein programm liest aus einer txt datei jede zeile und speichert es in einem vector&lt;string&gt;.</p>
<p>das mache ich mit getline.</p>
<p>die txt datei hat 567 zeilen.</p>
<p>jede zeile im vector muss mit jeder zeile im vector verglichen werden.<br />
das sind insgesammt also 321489 vergleiche.<br />
Und jeder string wird nochmal aufgesplitet um die werte in double zu speichern.</p>
<p>aufsplitten tue ich die werde mit istringstream.<br />
und ich konvertiere string zu double mit stringstream.</p>
<p>nach jedem durchgang wird ein ergenis per fstream in einen .ini datei geschrieben.</p>
<p>mein computer braucht für diese berechnungen 5sec, was mir sehr lange vorkommt.<br />
Was meint ihr dazu ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118202</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Mon, 12 Sep 2011 10:06:58 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 10:08:07 GMT]]></title><description><![CDATA[<p>Klingt ziemlich umständlich. Was steht in den Zeilen genau drin, und warum musst du jede Zeile mit jeder anderen vergleichen? Was versuchst du damit zu erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118203</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 12 Sep 2011 10:08:07 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 10:15:18 GMT]]></title><description><![CDATA[<p>ich habe coordinaten in der txt datei zb</p>
<p>2478.87, 1685.28, 100.98<br />
2311.78, 1090.25, 103.67<br />
2603.79, 863.24, 177.17<br />
2884.61, 1002.98, 179.92<br />
2902.17, 380.93, 110.89</p>
<p>diese werden in dem vector gespeichert, dann aufgesplittet in zb</p>
<p>xwert = 2478.87<br />
ywert = 1685.28<br />
zwert = 100.98</p>
<p>ich möchte ein navigationssystem erstellen. dann wird nach einer koordinate gesucht die den kürzesten weg zum zielpunkt und den kürzesten weg von der momentanen position besitzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118206</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Mon, 12 Sep 2011 10:15:18 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 10:34:23 GMT]]></title><description><![CDATA[<p>Wenn es auf Geschwindigkeit ankommt, würde ich zum Einlesen ifstream.read() + strtod() empfehlen, siehe auch:<br />
<a href="http://www.c-plusplus.net/forum/286372" rel="nofollow">http://www.c-plusplus.net/forum/286372</a></p>
<p>Edit:<br />
Wobei es bei den paar Zeilen vermutlich an den Vergleichen hängt. Da müsstest du etwas genauer deinen Algorithmus beschreiben. (Oder irgendeinen Artikel verlinken, falls der bekannt ist.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118210</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 12 Sep 2011 10:34:23 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 11:03:13 GMT]]></title><description><![CDATA[<p><a href="http://img638.imageshack.us/img638/5426/appwb.jpg" rel="nofollow">http://img638.imageshack.us/img638/5426/appwb.jpg</a></p>
<p>die schwarzen punkte sind die Koordinaten auf denen ich mich bewegen will<br />
start und ziel sind die anfangs und end Koordinaten.</p>
<p>gehen wir vom start aus.</p>
<p>mein programm schaut nun welcher wegpunkt die kürzeste distanz von<br />
start zu wegpunkt + wegpunkt bis ende hat. Dann schaut es welche wegpunkte der nächstliegende ist.<br />
meine formel ist sqrt(dx<sup>2+dy</sup>2+dz^2) welche die distanz berechnet.<br />
das mache ich mit</p>
<pre><code class="language-cpp">// Distance from Start
            lengthBeginX = abs(startX-fwpx);
            lengthBeginY = abs(startY-fwpy);
            lengthBeginZ = abs(startZ-fwpz);

            lengthStart= sqrt((pow(lengthBeginX,2))+(pow(lengthBeginY,2))+(pow(lengthBeginZ,2)));
            // Distance to End

            lengthEndX = abs(endX-fwpx);
            lengthEndY = abs(endY-fwpy);
            lengthEndZ = abs(endZ-fwpz);

            lengthEnd= sqrt((pow(lengthEndX,2))+(pow(lengthEndY,2))+(pow(lengthEndZ,2)));

            distanceSumTemp=lengthStart+lengthEnd;
            shortestWayTemp=lengthStart;

            if(distanceSumTemp&lt;distanceSum &amp;&amp; lengthStart!=0 )
            {

                if(shortestWayTemp&lt;shortestWay)
                {
                    wpSave=index;
                    distanceSum = distanceSumTemp;
                    shortestWay=shortestWayTemp;
                }

            }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2118220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118220</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Mon, 12 Sep 2011 11:03:13 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 11:04:46 GMT]]></title><description><![CDATA[<p>Du könntest schon mal ein paar Vergleiche eliminieren, bei den 321489 (entspricht 567*567) vergleichst du Zeilen doppelt, also z.B 1. und 2. Zeile und dann später nochmal 2. mit 1. Zeile, wenn du das weglässt sind es nur noch ungefähr 161000 Vergleiche</p>
<p>Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118221</guid><dc:creator><![CDATA[CatDog11]]></dc:creator><pubDate>Mon, 12 Sep 2011 11:04:46 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 11:12:06 GMT]]></title><description><![CDATA[<p>was ich noch vergessen habe</p>
<p>ich lösche den benutzten wegpunkt aus dem vector mit</p>
<pre><code class="language-cpp">svec.erase (svec.begin()+wpSave);
</code></pre>
<p>CatDog11 schrieb:</p>
<blockquote>
<p>Du könntest schon mal ein paar Vergleiche eliminieren, bei den 321489 (entspricht 567*567) vergleichst du Zeilen doppelt, also z.B 1. und 2. Zeile und dann später nochmal 2. mit 1. Zeile, wenn du das weglässt sind es nur noch ungefähr 161000 Vergleiche</p>
<p>Gruss</p>
</blockquote>
<p>stimmt daran habe ich noch garnicht gedacht.<br />
danke</p>
<p>*grübel*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118223</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Mon, 12 Sep 2011 11:12:06 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 11:11:15 GMT]]></title><description><![CDATA[<p>Verwandle zuerst die Zeilen in double-Triplets, danach vergleichst du. Geht viel schneller als string-Vergleiche. Und natürlich kannst du dann anhand der einzelnen Koordinaten schon Vorauswahlen treffen, welche der Punkte überhaupt in Frage kommen. Dadurch sparst du dir dann eine Menge Vergleiche.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118224</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 12 Sep 2011 11:11:15 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 11:16:16 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Verwandle zuerst die Zeilen in double-Triplets, danach vergleichst du. Geht viel schneller als string-Vergleiche. Und natürlich kannst du dann anhand der einzelnen Koordinaten schon Vorauswahlen treffen, welche der Punkte überhaupt in Frage kommen. Dadurch sparst du dir dann eine Menge Vergleiche.</p>
</blockquote>
<p>ja sowas ähnliches hatte ich am anfang auch<br />
zb wenn ich die differenz von start und ende nehme, das nur wegpunkte ausgesucht werden die in dieser range liegen.<br />
das problem ist das ich auch umwege gehen muss, die straßen sind ja nicht alle gerade =).<br />
naja ich muss wohl noch ein wenig grübeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118225</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Mon, 12 Sep 2011 11:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 11:23:04 GMT]]></title><description><![CDATA[<p>Ich hab jetzt die Regel nicht wirklich verstanden (die kürzeste Distanz ist doch einfach Start mit Endpunkt verbunden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> ..?), aber scheinbar spielt der nächstgelegende Wegpunkt immer eine Rolle. Um sowas zu beschleunigen kannst du deinen Raum in kleinere Unterräume unterteilen, so dass Du viele Wegpunkte von vornerein ausschließen kannst. Im einfachsten Fall, legst du einfach ein gleichmäßiges Gitter über deinen Raum und sortierst deine Wegpunkte da ein. Wenn das mnoch nicht reicht gibt es eine ganze Reihe bekannter Strukturen (<a href="http://en.wikipedia.org/wiki/Space_partitioning#Types_of_space_partitioning_data_structures" rel="nofollow">http://en.wikipedia.org/wiki/Space_partitioning#Types_of_space_partitioning_data_structures</a>)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118229</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Mon, 12 Sep 2011 11:23:04 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 11:34:26 GMT]]></title><description><![CDATA[<p>Ohne ernsthaft Ahnung davon zu haben, würde ich sagen, die Aufgabe ist nicht sinnvoll, solange man keine definierten Verbindungen zwischen den Koordinaten hat. Denn so gilt:</p>
<p>brotbernd schrieb:</p>
<blockquote>
<p>die kürzeste Distanz ist doch einfach Start mit Endpunkt verbunden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> ..?</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2118231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118231</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 12 Sep 2011 11:34:26 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 12:35:40 GMT]]></title><description><![CDATA[<p>okay beispiel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
<p>ich stehe vor einem berg. natürlich ohne tunnel....<br />
und mein ziel liegt hinter dem berg.</p>
<p>der kürzeste weg ist natürlich start-end aber dann würde mich mein navi direkt durch den berg leiten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>so leitet mich mein navi um den berg herum, anhand meiner aufgenommenen kooridnaten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118249</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Mon, 12 Sep 2011 12:35:40 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 12:50:36 GMT]]></title><description><![CDATA[<p>Ist aber immer noch Käse. Berg ist schön, aber Bäume kennt der immer noch nicht. Was, wenn zwischen deinen Koordinaten plötzlich ein Baum wächst? Musst du dann deine Koordinaten anpassen?<br />
Was du eigentlich willst, wäre deine Punkte in Listen zu speichern, jede Liste markiert einen Weg. Da nicht jeder Punkt mit einem Nachbarpunkt wirklich eine Teilstrecke eines Weges markiert, musst du wohl schon beim SPeichern der Daten deine Wege berücksichtigen. Eine (bessere) Alternative wäre, wenn für jeden Punkt die direkt erreichbaren Punkte (weg-Knick, Kreuzung, ...) abgespeichert würden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118259</guid><dc:creator><![CDATA[${PATH}finder]]></dc:creator><pubDate>Mon, 12 Sep 2011 12:50:36 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 13:04:10 GMT]]></title><description><![CDATA[<p>ich möchte das als app fürs handy benutzen, da ich gerne fahrrad fahre habe ich die koordianten natürlich nur auf befahrbaren wegen aufgenommen. und falls ein baum kommt muss ich nicht unbedingt dagegen fahren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118269</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Mon, 12 Sep 2011 13:04:10 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 13:15:15 GMT]]></title><description><![CDATA[<p>Du hast da wohl trotzdem einen Denkfehler. Du bewegst Dich auf Wegen, nicht von Punkt zu Punkt. Die Frage lautet &quot;Über welche Wege ist die Strecke A nach B am kürzesten&quot;. Wenn Du einfach sagst, dass zwischen jedem Punkt ein Weg liegt der einfach die Luftlinie lang ist, dann ist der kürzeste Weg einfach der Weg von A direkt nach B, das hatten wir schon.<br />
Der Witz am Navi ist ja, dass Du nicht nicht einfach überall bewegen kannst. Du musst also erstmal auf deiner Karte (<a href="http://img638.imageshack.us/img638/5426/appwb.jpg" rel="nofollow">http://img638.imageshack.us/img638/5426/appwb.jpg</a>) noch Wege einzeichnen und deren Länge bestimmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118273</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Mon, 12 Sep 2011 13:15:15 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 14:04:19 GMT]]></title><description><![CDATA[<p>Was Du da hast, ist ein Haufen von &quot;Knoten&quot; (mit Koordinaten). Wegsuchealgorithmen wollen mehr als das. Neben einem Haufen von Knoten, wollen sie auch wissen, welche Verbindungen es zwischen den Knoten gibt (&quot;Kanten&quot;). Das zusammen dennt man das dann &quot;<a href="http://de.wikipedia.org/wiki/Graph_%28Graphentheorie%29" rel="nofollow">Graph</a>&quot;.</p>
<p>Bei den Graphen für Routenplaner sind &quot;Knoten&quot; Kreuzungen (oder zumindest Punkte auf der Karte) und &quot;Kanten&quot; die Straßen, die die Punkte <em>direkt</em> verbinden.</p>
<p>Die Koordinaten der Knoten kann zusätzlich nutzen, um den Mindestabstand zwischen aktueller Position und Ziel abzuschätzen (Luftlinie). Sowas nennt man dann &quot;informierte Suche&quot;. Bekannter Algorithmus dafür: <a href="http://de.wikipedia.org/wiki/A*-Algorithmus" rel="nofollow">A*</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118282</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 12 Sep 2011 14:04:19 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 14:08:13 GMT]]></title><description><![CDATA[<p>Wenn ich das jetzt richtig verstanden habe, müsstest du doch zu jeder Koordinate Infos speichern, welche anderen Koordinaten ohne Probleme direkt zu erreichen sind, und dann wird das Ganze zu einem Problem ähnlich des &quot;Handelsreisenden&quot;(Traveling Salesman Problem)</p>
<p>Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118284</guid><dc:creator><![CDATA[CatDog11]]></dc:creator><pubDate>Mon, 12 Sep 2011 14:08:13 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Mon, 12 Sep 2011 14:16:08 GMT]]></title><description><![CDATA[<p>CatDog11 schrieb:</p>
<blockquote>
<p>Wenn ich das jetzt richtig verstanden habe, müsstest du doch zu jeder Koordinate Infos speichern, welche anderen Koordinaten ohne Probleme direkt zu erreichen sind, und dann wird das Ganze zu einem Problem ähnlich des &quot;Handelsreisenden&quot;(Traveling Salesman Problem)</p>
</blockquote>
<p>Hast du offenbar nicht richtig verstanden. Er will nur von A nach B kommen, nicht N Punkte erreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118288</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 12 Sep 2011 14:16:08 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Tue, 13 Sep 2011 09:55:03 GMT]]></title><description><![CDATA[<p>okay ich hatte sowieso einen logik fehler in meinem code =(.</p>
<p>jetzt filtere ich die 10 nächsten wegpunkte in einen anderen vector und lass die kürzeste distanz zum endpunkt errechnen.</p>
<p>funktionieren tut es relativ gut nur es braucht leider noch länger =(.</p>
<p>hat jemand vielleicht optimierungsvorschläge?</p>
<pre><code class="language-cpp">for (vector&lt;string&gt;::size_type index = 0; index!=svec.size(); ++index)
        {

            int max = 0; 

            if(tenwps.size()&lt; 10)
            {
                tenwps.push_back(svec[index]);
            }

            if(tenwps.size()==10)
            {

                for(vector&lt;string&gt;::size_type st = 0; st!=tenwps.size(); ++st)
                {
                    //some code

                    if(lengthStart&gt;max)
                    {
                        max=lengthStart;
                        stsave=st;
                    }

                }
                //////////ERASE LONGEST WP/////////
                tenwps.erase(tenwps.begin()+stsave);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2118613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118613</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Tue, 13 Sep 2011 09:55:03 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Tue, 13 Sep 2011 11:39:21 GMT]]></title><description><![CDATA[<p>kantaki schrieb:</p>
<blockquote>
<p>hat jemand vielleicht optimierungsvorschläge?</p>
</blockquote>
<p>Du musst dich immer noch auf Straßen fortbewegen! (Jede Kreuzung ist dann ein Punkt.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118664</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 13 Sep 2011 11:39:21 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Tue, 13 Sep 2011 12:00:14 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>kantaki schrieb:</p>
<blockquote>
<p>hat jemand vielleicht optimierungsvorschläge?</p>
</blockquote>
<p>Du musst dich immer noch auf Straßen fortbewegen! (Jede Kreuzung ist dann ein Punkt.)</p>
</blockquote>
<p>nein, jede koordinate liegt auf einem weg.<br />
das einzige problem ist das es nicht den kürzesten weg nimmt, sondern immer nur den zielwegpunkt mit der luftdistanz zum ziel berechnet.<br />
Naja zumindest kommt man zum Ziel.<br />
aber die berechnung dauert schon sehr sehr lange <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /></p>
<p>gibt es vielleicht eine alternative zum vector?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118680</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Tue, 13 Sep 2011 12:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Tue, 13 Sep 2011 12:20:14 GMT]]></title><description><![CDATA[<p>kantaki schrieb:</p>
<blockquote>
<p>gibt es vielleicht eine alternative zum vector?</p>
</blockquote>
<p>vector ist die mit Abstand schnellste Datenstruktur überhaupt. Wie wäre es stattdessen mal damit, auf die vielen guten Tipps zu hören die dir hier gegeben wurden, anstatt auf deiner Vorgehensweise zu beharren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118689</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 13 Sep 2011 12:20:14 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Tue, 13 Sep 2011 12:23:23 GMT]]></title><description><![CDATA[<p>Du zeigst immer nur irgendwelche uusammenhangslosen Codefetzen und erklärst überhautp nicht was Du da überhaupt machst.<br />
Auch wenn es mit Sicherheit ziemlich Quatsch ist, erklär doch bitte mal nach welchen Regeln Du den nächsten WP suchst.<br />
<a href="http://img17.imageshack.us/img17/5426/appwb.jpg" rel="nofollow">http://img17.imageshack.us/img17/5426/appwb.jpg</a></p>
<p>Wieso nimmst Du da WP1 und nicht direkt WP5 (oder noch besser direkt WP6). Das ist doch dann ein viel kürzerer Weg. Das ist in Realität natürlich totaler Blödsinn, weil es mit Sicherheit keine direkte Straße von WP0 nach WP5 gibt. Aber die gibt es wahrscheilich genauso wenig von WP0 nach WP1. Aber das scheinst Du ja einfach ignorieren zu wollen.<br />
Frage: Wieso gibt es eine Straße von WP0 nach WP1, aber keine Straße von WP0 nach WP3 (Auf dieser wärst du dann nämlich wohl scheinbar schneller).</p>
<p>Erklär mal in deutschen Sätzen, wie Du versucht den nächsten WP zu finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118690</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Tue, 13 Sep 2011 12:23:23 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Tue, 13 Sep 2011 12:26:25 GMT]]></title><description><![CDATA[<p>kantaki schrieb:</p>
<blockquote>
<p>nein, jede koordinate liegt auf einem weg.</p>
</blockquote>
<p>Ja, das ist einfach ein Designfehler. Was versuchst du zu erreichen?</p>
<p>kantaki schrieb:</p>
<blockquote>
<p>ich möchte das als app fürs handy benutzen, da ich gerne fahrrad fahre habe ich die koordianten natürlich nur auf befahrbaren wegen aufgenommen. und falls ein baum kommt muss ich nicht unbedingt dagegen fahren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
</blockquote>
<p>Aha. Du bewegst dich also auf Straßen/Wegen/Whatever, aber nicht (wie in deinem Programm) auf einem freien Feld, denn da ist der Kürzeste weg von A nach B die Gerade AB!<br />
Speichere bei jeder Krezung bzw. überall dort, wo die Möglicheit besteht abzubiegen, eine Koordinate und dazu zu welchen anderen Kreuzungen du von dort aus gelangen kannst.<br />
Wenn du das für eine Stadt machst, kannst du effizient ausrechnen, welcher der schnellste Weg von A nach B ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118692</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 13 Sep 2011 12:26:25 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Tue, 13 Sep 2011 12:33:20 GMT]]></title><description><![CDATA[<p>kantaki schrieb:</p>
<blockquote>
<p>cooky451 schrieb:</p>
<blockquote>
<p>kantaki schrieb:</p>
<blockquote>
<p>hat jemand vielleicht optimierungsvorschläge?</p>
</blockquote>
<p>Du musst dich immer noch auf Straßen fortbewegen! (Jede Kreuzung ist dann ein Punkt.)</p>
</blockquote>
<p>nein, jede koordinate liegt auf einem weg.</p>
</blockquote>
<p>Und woher weißt Du, welche Koordinaten <em>direkt</em> von einer bestimmten Koordinate aus erreicht werden können? Wo steht diese Information?</p>
<p>Dein Ziel ist doch, eine &quot;Route&quot; zu berechnen, die an einem bestimmten Punkt S (wie Start) anfängt und an einem bestimmten Punkt E (wie Ende) aufhört. Die Route wäre eine Folge von Punkten [S ? ? ... ? ? E], richtig? Es fehlt jetzt irgendwie die Information, welche Punkte hintereinander in dieser Folge auftauchen dürfen. Gegeben zwei Punkte, P und Q: Woher weiß ich, dass eine Route [... P Q ...] gültig ist? Mit anderen Worten: Gibt es einen direkten Weg von P nach Q? Wo steht diese Information?</p>
<p>Du hast bisher Dein Problem &quot;unterspezifiziert&quot;. Da fehlt was. Denk da nochmal drüber nach. Und schau Dir nochmal diese <a href="http://de.wikipedia.org/wiki/Graph_%28Graphentheorie%29" rel="nofollow">Wikipediaseite</a> an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118695</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 13 Sep 2011 12:33:20 GMT</pubDate></item><item><title><![CDATA[Reply to performance frage on Tue, 13 Sep 2011 13:02:38 GMT]]></title><description><![CDATA[<p>okay tut mir leid, ich habe noch nie wirklich programmiert und ich finde es sehr schwer ein programm zu designen. ich habe mir einfach überlegt wie ich es anstellen könnte und es umgesetzt.</p>
<p>und vielleicht war mein bild ein wenig unpassend. ich versuche nochmal zu erklären was ich eigentlich erreichen wollte =(.</p>
<p><a href="http://imageshack.us/f/607/nav1.jpg/" rel="nofollow">http://imageshack.us/f/607/nav1.jpg/</a></p>
<p>ich will:<br />
-mich auf den Wegpunkten bewegen und diese nicht verlassen.<br />
-keine Wegpunkte überspringen.<br />
-möglichst kurzen Weg (start A- Ziel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /><br />
-nich durch Berge laufen.</p>
<p>Meine Überlegung war, dass ich den Wegpunkt nehme der:<br />
1. ...die kürzeste Entfernung zu meiner momentanen Position hat.<br />
2. ...die geringste Entfernung zum Ziel hat.</p>
<p>War meine Überlegung so verkehrt?<br />
Entweder meine Überlegung ist total falsch oder meine Programmumsetzung ist einfach nur schlecht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118715</guid><dc:creator><![CDATA[kantaki]]></dc:creator><pubDate>Tue, 13 Sep 2011 13:02:38 GMT</pubDate></item></channel></rss>