In der Programmierung ist ein Binärbaum eine Datenstruktur, die zum Speichern und Organisieren von Informationen verwendet wird. Es ist jedoch manchmal sehr nützlich, einen Binärbaum zu visualisieren, um seine Struktur und seinen Inhalt leichter zu verstehen. In diesem Artikel werden wir uns ansehen, wie man einen Binärbaum in der Programmiersprache C ableitet.
Um zu beginnen, werden wir eine Datenstruktur erstellen, um einen binären Baum in C darzustellen. Jeder Knoten des Baums enthält einen Wert und Zeiger auf seine linken und rechten Nachkommen. Dann schreiben wir eine Funktion, um die Knoten des Baums zu erstellen und zu initialisieren.
Wie man einen Binärbaum in C ausgibt
#include #include struct Node ;void inOrderTraversal(struct Node* node) left);printf("%d ", node->data);inOrderTraversal(node->right);>>int main()/ Создание примера бинарного дереваstruct Node* root = (struct Node*)malloc(sizeof(struct Node));root-> data = 1;root->left = (struct Node*)malloc(sizeof(struct Node));root->left->data = 2;root->right = (struct Node*)malloc(sizeof(struct Node));root->right->data = 3;root->left->left = NULL;root->left->right = NULL;root->right->left = NULL;root->right->right = NULL;printf("Бинарное дерево в порядке in-order: ");inOrderTraversal(root);return 0;>
Installation und Konfiguration
Um mit Binärbäumen in der Programmiersprache C zu arbeiten, müssen mehrere Komponenten installiert und konfiguriert werden.
1. Installieren Sie einen C-Compiler wie GCC oder Clang auf Ihrem Betriebssystem. Stellen Sie sicher, dass der ausgewählte Compiler den C99-Standard oder einen neueren unterstützt.
2. Laden Sie die Bibliothek herunter, um mit Binärbäumen zu arbeiten. Einige beliebte Bibliotheken sind libavl und libds. Wählen Sie die richtige Bibliothek aus, und befolgen Sie die Installationsanweisungen.
3. Schließen Sie die Header-Datei der Binärbaumbibliothek in Ihr Projekt ein. Verwenden Sie die Präprozessordirektive #include, um eine Header-Datei mit den Funktionsdefinitionen und Datenstrukturen einzubeziehen, die für die Arbeit mit dem Binärbaum erforderlich sind.
4. Konfigurieren Sie den Compiler für die Arbeit mit Binärbäumen. Geben Sie dem Compiler den Pfad zur Header-Datei der Bibliothek und den Pfad zu den Objektdateien an (.a oder .so), die eine Implementierung von Binärbaumfunktionen enthält.
5. Erstellen Sie eine Instanz des Binärbaums in Ihrem Code mit der in der ausgewählten Bibliothek definierten Datenstruktur. Initialisieren Sie den Baum mithilfe der von der Bibliothek bereitgestellten Funktionen, um den Stammbaum und die Anfangswerte festzulegen.
Jetzt können Sie mit dem Binärbaum in Sprache C beginnen. Zu den Funktionen eines Binärbaums gehören das Hinzufügen und Entfernen von Elementen, das Suchen nach Elementen, das Durchforsten des Baums und vieles mehr. Die Einzelheiten zur Verwendung der Funktionen und Operationen des Binärbaums können je nach ausgewählter Bibliothek und ihrer Dokumentation variieren.
Beschreibung der binären Baumstruktur
Die Struktur eines Binärbaums hat folgende Eigenschaften:
- Die Wurzel eines Baumes ist ein Scheitelpunkt, der keinen übergeordneten Scheitelpunkt hat. Es kann nur eine Wurzel in einem Baum sein.
- Der linke untergeordnete Knoten enthält einen niedrigeren Wert als der übergeordnete Knoten.
- Der rechte untergeordnete Knoten enthält einen höheren Wert als der übergeordnete Knoten.
- Die Blätter eines Baumes sind Knoten, die keine Nachkommen haben.
- Die Baumhöhe ist die maximale Anzahl von Ebenen in einem Baum.
Binäre Bäume werden häufig zum Darstellen und Organisieren von Daten verwendet, z. B. zum Suchen, Sortieren und Durchforsten von Elementen. Jeder Knoten kann als separater Teilbaum behandelt werden, was die Ausführung verschiedener Operationen erleichtert.
| Knoten | Bedeutung | Linker Nachkomme | Der rechte Nachkomme |
|---|---|---|---|
| 1 | 10 | 2 | 3 |
| 2 | 5 | 4 | NULL |
| 3 | 15 | NULL | NULL |
| 4 | 7 | NULL | NULL |
Die folgende Tabelle zeigt einen Binärbaum mit vier Knoten. Der Knoten mit der Nummer 1 ist der Stammknoten und enthält den Wert 10. Es hat einen linken und rechten Nachkommen mit den Nummern 2 bzw. 3. Der Knoten mit der Nummer 2 enthält den Wert 5 und hat einen linken Nachkomme mit der Nummer 4. Die Knoten 3 und 4 gelten als Blätter, da sie keine Nachkommen haben.
Erstellen eines Binärbaums
- Definieren Sie die Struktur eines Baumknoten mithilfe des struct-Schlüsselworts.
- Erstellen einer Funktion zum Hinzufügen eines Knotens zur Struktur.
- Verwenden Sie Rekursion, um einen Baum aus einer Reihe von Werten zu erstellen.
#include #include struct Node ;struct Node* createNode(int value) newNode->data = value;newNode->left = NULL;newNode->right = NULL;return newNode;>struct Node* insert(struct Node* root, int value)/ Если дерево пустое, создаем кореньif (root == NULL) // Рекурсивное добавление узла в деревоif (value < root->data) left = insert(root->left, value);>else if (value > root->data) right = insert(root->right, value);>return root;>void inorderTraversal(struct Node* root) left);printf("%d ", root->data);inorderTraversal(root->right);>>int main() ;int n = sizeof(values) / sizeof(values[0]);for (int i = 0; i < n; i++) printf("Дерево в симметричном порядке: ");inorderTraversal(root);return 0;>