Class Node
Pelajaran 3 dari 16 dalam kursus Pohon AVL, Seri Struktur Data #10 di Coddy.
Setiap node dalam tree menyimpan empat hal: value, pointer ke child left dan right, serta height-nya sendiri. Node yang baru dibuat adalah leaf, jadi tingginya dimulai dari 1 dan belum memiliki child.
Menyimpan height langsung pada node (alih-alih menghitungnya ulang dengan menelusuri tree setiap kali) memungkinkan setiap operasi berikutnya memeriksa keseimbangan dalam waktu konstan.
Tantangan
PemulaTulis class Node dengan constructor yang menerima value dan menyimpannya, menetapkan left dan right ke null, serta menetapkan height ke 1.
Coba sendiri
#include <stdio.h>
#include "node.h"
int main(void) {
char line[256];
while (fgets(line, sizeof(line), stdin) != NULL) {
int v;
if (sscanf(line, "%d", &v) != 1) {
continue;
}
Node* n = Node_create(v);
if (n->left == NULL && n->right == NULL) {
printf("%d %d null null\n", n->value, n->height);
} else if (n->left == NULL) {
printf("%d %d null %d\n", n->value, n->height, n->right->value);
} else if (n->right == NULL) {
printf("%d %d %d null\n", n->value, n->height, n->left->value);
} else {
printf("%d %d %d %d\n", n->value, n->height, n->left->value, n->right->value);
}
}
return 0;
}
Semua pelajaran di Pohon AVL, Seri Struktur Data #10
Latihan sendiri: Compiler C online