/* AGS 3.22 */ (a) void teilsumme(B_Ptr t) { if (t == NULL) return; teilsumme(t->left); t->weight = summe(t); teilsumme(t->right); } int summe(B_Ptr t) { if (t == NULL) return 0; return t->key + summe(t->left) + summe(t->right); } (b) void gewicht(B_Ptr t) { int sum; if (t == NULL) return; t->weight = 0; sum = summe(t->right) - summe(t->left); if (sum > 0) t->weight = 1; else if (sum < 0) t->weight = -1; gewicht(t->left); gewicht(t->right); }