<?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[Objekt Baumstruktur frage?]]></title><description><![CDATA[<p>Habe eine Objekt Node, welches ein Knoten eines baumes representiert. Jeder dieser Knoten hat einen Wert (Value):</p>
<pre><code class="language-cpp">class Node{

prublic:
 std:vector&lt;Node&gt; vChilds;
 int Value;

}
</code></pre>
<p>Jeder Wert des ParentKnoten bildes die Summe der Childknoten.</p>
<p>wenn ich nun ein child mit wert anfüge, sollen die Werte in Richtung der Baumwurzel aktualisert werden, quaise reverse rekusive! Wie würdet ihr das am elgantesten anstellen?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/185119/objekt-baumstruktur-frage</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 01:45:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185119.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Jun 2007 04:58:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 05:01:25 GMT]]></title><description><![CDATA[<p>Habe eine Objekt Node, welches ein Knoten eines baumes representiert. Jeder dieser Knoten hat einen Wert (Value):</p>
<pre><code class="language-cpp">class Node{

prublic:
 std:vector&lt;Node&gt; vChilds;
 int Value;

}
</code></pre>
<p>Jeder Wert des ParentKnoten bildes die Summe der Childknoten.</p>
<p>wenn ich nun ein child mit wert anfüge, sollen die Werte in Richtung der Baumwurzel aktualisert werden, quaise reverse rekusive! Wie würdet ihr das am elgantesten anstellen?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311122</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 22 Jun 2007 05:01:25 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 05:18:17 GMT]]></title><description><![CDATA[<p>erweiter deine klasse um nen pointer auf den parent node, das erleichtert schonmal viel gesuche. und dann z.b. so:</p>
<pre><code class="language-cpp">class Node
{
  Node *parent;
  // ...
  addChild(Node node)
  {
    node.parent = this;
    vChilds.push_back(node);
    increaseValue();
  }

  void increaseValue()
  {
   ++Value;
   if(parent != 0)
   {
     parent-&gt;increaseValue();
   }
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1311124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311124</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 22 Jun 2007 05:18:17 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 05:21:45 GMT]]></title><description><![CDATA[<p>achso, kann sein, dass dir das programm irgendwann um die ohren fliegt, weil der vector seinen inhalt möglicherweise umsortiert, wenn er größer wird. kann dadurch passieren, dass die parent pointer plötzlich ins leere zeigen.<br />
bin mir aber grad nich sicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311126</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 22 Jun 2007 05:21:45 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 05:26:48 GMT]]></title><description><![CDATA[<p>ja das wäre scheisse.. die reihnfolge ist wichtig...die msus stehts bleiben.. aber wieso soltle der vector sich einfach umsortieren? hat ja keinen sinn</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311128</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 22 Jun 2007 05:26:48 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 05:39:31 GMT]]></title><description><![CDATA[<p>Was macht der Vector, wenn der reservierte Speicherplatz zu klein ist, um ein neues Element anzufordern (wir <strong>wissen</strong> natürlich, dass ein Vector intern als zusammenhängendes Stück Speicher, spricht Array, implementiert ist)? Richtig, er muss neuen Speicher anfordern und die bestehenden Objekte umkopieren.</p>
<p>Um<strong>sortieren</strong> ist evtl. der falsche Ausdruck, sonst ist der Einwand vollkommen ok. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1311134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311134</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 22 Jun 2007 05:39:31 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 05:52:25 GMT]]></title><description><![CDATA[<p>ok danke.. das hab ich verstanden.. dann wäre eine liste besser.. aber die ist halt 5 mal langsamer..</p>
<p>hab mal gesteste bei 100000 int werten jeweils anlegen in einem vector und liste.</p>
<p>vector 500ms<br />
list 3000ms</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311138</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 22 Jun 2007 05:52:25 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 06:37:35 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>ok danke.. das hab ich verstanden.. dann wäre eine liste besser.. aber die ist halt 5 mal langsamer..</p>
<p>hab mal gesteste bei 100000 int werten jeweils anlegen in einem vector und liste.</p>
<p>vector 500ms<br />
list 3000ms</p>
</blockquote>
<p>6-mal langsamer ;o)</p>
<p>du koenntest aber auch anstatt einen pointer, den index im vector speichern. dann waere es egal wenn der vector mal den speicher wechselt</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311157</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Fri, 22 Jun 2007 06:37:35 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 06:43:06 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>du koenntest aber auch anstatt einen pointer, den index im vector speichern. dann waere es egal wenn der vector mal den speicher wechselt</p>
</blockquote>
<p>Das klappt aber vermutlich nur, wenn er einen Super-Vector hat, der <strong>alle</strong> Baumknoten speichert.</p>
<p>@Boris: Vielleicht ist ein deque&lt;&gt; für dich geeignet - afair bleiben dessen Elemente an seiner Position, solange nichts im Inneren der Struktur dazwischengeschoben wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311159</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 22 Jun 2007 06:43:06 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 06:52:48 GMT]]></title><description><![CDATA[<p>jepp ich bin grad am deque vs. list testen..</p>
<p>deque ist langsamer beim travestieren ca. 20%</p>
<p>aber den untschied zwischen deque und list hab ich noch nich verstanden..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311165</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 22 Jun 2007 06:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 06:58:43 GMT]]></title><description><![CDATA[<p>Deque alias &quot;<strong>d</strong>ouble <strong>e</strong>nded <strong>Que</strong>ue&quot; ist eine eher Array-artige Struktur, die im Gegensatz zum vector in beide Richtungen wachsen kann. Du kannst ebenfalls recht schnell über den Index zugreifen (wie beim vector) und du kannst recht schnell am Anfang und am Ende neue Werte einfügen und entfernen (beim vector nur am Ende, bei der list überall). Intern sieht die Struktur der deque etwas komplizierter aus - idR dürfte sie eine zweischichtige Sammlung von Speicherblöcken verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311168</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 22 Jun 2007 06:58:43 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 07:02:57 GMT]]></title><description><![CDATA[<pre><code>list:
[payload|*next] [payload|*next] [payload|*next]
             +---^           +---^

vector:
[#|payload] [#|payload] [#|payload]

deque:
[#|payload] [#|payload] [#|payload]
 ^                       ^
 |                       |
*first                   |
*last -------------------+
</code></pre>
<p>so <em>ungefähr</em> kann man sich das vorstellen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311171</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 22 Jun 2007 07:02:57 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 07:05:44 GMT]]></title><description><![CDATA[<p>ist so deque mit einer doppeltverketteten liste vergleichbar?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311174</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 22 Jun 2007 07:05:44 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 07:09:12 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>ist so deque mit einer doppeltverketteten liste vergleichbar?</p>
</blockquote>
<p>nein, deque behandelt nur einfüge operationen an den anfang (push_front) und das ende (push_back) anders als vector. eine doppeltverkettete liste würde sich für jedes einzelne element den vorgänger und nachfolger merken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311180</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 22 Jun 2007 07:09:12 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt Baumstruktur frage? on Fri, 22 Jun 2007 12:18:40 GMT]]></title><description><![CDATA[<p>Wie ich schon sagte, der Aufbau der deque ist recht komplex - meistens sieht das eher so aus:</p>
<pre><code>[*block1|*block2|*block3|...]
 |       |       +---------------------------------------------+
 |       +----------------------+                              |
 v|                             v                              v   
[payload][payload][payload]... [payload][payload][payload]... [payload][payload][payload]...
 +----------------^              
[*first][*last]------------------&gt;
</code></pre>
<p>(list&lt;&gt; ist normalerweise eine doppelt verkettete Liste)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1311429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1311429</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 22 Jun 2007 12:18:40 GMT</pubDate></item></channel></rss>