/ / Wie finde ich Größe und Höhe für einen Baum? - C ++, Datenstrukturen, Baum

Wie finde ich Größe und Höhe für einen Baum? - C ++, Datenstrukturen, Baum

Baumgröße = Anzahl der Knoten im Baum

Baumhöhe = die größte Tiefe des Baumes

Ich implementiere einen Baum in c ++ mit: Klassenknoten Privatgelände: Kinder auflisten; char * tag; int Wert

Antworten:

1 für die Antwort № 1

Wenn size die Anzahl der untergeordneten Elemente (direkt und indirekt) und des Elements selbst ist:

int Element::size(){
if (children.empty())
return 0;

size_t size = 0;
for (const auto &child : children)
size += child->size();

size += children.size();

if (_depth == 0) return size + 1;
else return size;
}