Die Aufgabe besteht darin, den linken Knoten des angegebenen Binärbaums zu drucken. Zuerst fügt der Benutzer Daten ein, wodurch ein Binärbaum erstellt wird, und druckt dann die linke Ansicht des resultierenden Baums aus.
Jeder Knoten kann maximal 2 untergeordnete Knoten haben, daher muss dieses Programm nur den linken Zeiger iterieren, der dem Knoten zugeordnet ist.
Wenn der linke Zeiger nicht null ist, bedeutet dies, dass ihm einige Daten oder ein Zeiger zugeordnet sind, andernfalls handelt es sich um den linken Zeiger Untergeordnetes Element, das gedruckt und als Ausgabe angezeigt werden soll.
Input : 1 0 3 2 4 Output : 1 0 2
Hier stellt der orangefarbene Knoten die linke Ansicht des Binärbaums dar.
In der angegebenen Grafik ist der Knoten mit den Daten 1 der Wurzelknoten, also wird er gedruckt, anstatt zum linken untergeordneten Knoten zu gehen, wird 0 gedruckt, dann geht er zu 3 und druckt seinen linken untergeordneten Knoten. Das ist 2.
Wir können eine rekursive Methode verwenden, um die Ebenen von Knoten zu speichern und sie wiederholt zu übertragen.
Der folgende Code zeigt die C-Implementierung des angegebenen Algorithmus. it Die folgende Ausgabe wird generiert.
START Step 1 -> create node variable of type structure Declare int data Declare pointer of type node using *left, *right Step 2 -> create function for inserting node with parameter as new_data Declare temp variable of node using malloc Set temp->data = new_data Set temp->left = temp->right = NULL return temp Step 3 -> declare function void left_view(struct node* root, int level, int* highest_level) IF root = NULL Exit End IF *highest_level < level Print root->data Set *highest_level = level End Recursively call left_view(root->left, level + 1, highest_level) Recursively call left_view(root->right, level + 1, highest_level) Step 4 -> Declare Function void left(struct node* root) Set int highest_level = 0 Call left_view(root, 1, &highest_level) Step 5-> In main() Call New passing value user want to insert as struct node* root = New(1) Call left(root) STOP
Das obige ist der detaillierte Inhalt vonDrucken Sie die linke Ansicht des Binärbaums in C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!