Ich brauche eine Funktion zu schreiben, die die k-i-te Wert in seiner GrößeFunktion, die den k-ten Wert in binärer Suchbaum zurückgibt
in binärer Suchbaum zurückgibt zB wenn dies der binäre Suchbaum:
50
/\
46 58
/\ /\
32 48 53 67
dann, wenn k = 3, so sollte die Funktion 48
zurück, weil 48 in dem dritten Platz in seiner Größe ist.
32,46,48,50,53,58,67.
Meine Idee ist, irgendwie inorder zu verwenden, aber ich stecke viele Stunden fest, ich denke nicht, dass es schwer sein sollte, ich brauche einen Pseudocode oder einen besseren Code als meins bitte.
hier ist das, was ich in JAVA Eclipse tat
private static void k_val_inorder(TreeItem x,int k)
{
if (x != null&&k!=0)
{
k_val_inorder(x.getLeft(),k--);
System.out.print(x.getKey()+" ");
k_val_inorder(x.getRight(),k--);
}
}
irgendwelche Ideen bitte?
Konvertieren Sie den Baum in ein Infix-Array und ermitteln Sie den Wert an der k-ten Position dieses Arrays. –
Ich werde versuchen, dass –
eine Lösung gab. Bitte prüfen und bestätigen. –