İkili bir ağacın yüksekliği, kök düğümden kök çocuğuna kökten en uzak olan mesafedir.
Aşağıda bir örnek verilmiştir:
2 <-- root: Height 1
/ \
7 5 <-- Height 2
/ \ \
2 6 9 <-- Height 3
/ \ /
5 11 4 <-- Height 4
İkili ağacın yüksekliği: 4
İkili Ağacın Tanımı
Ağaç, işaretli bir tam sayı değeri ve bunlara iki ağaç veya işaretçi içeren bir nesnedir.
İkili ağaç yapısının yapısı aşağıdaki gibi görünür:
typedef struct tree
{
struct tree * l;
struct tree * r;
int v;
} tree;
Meydan okuma:
Giriş
İkili ağacın kökü
Çıktı
İkili bir ağacın yüksekliğini temsil eden sayı
Girdi olarak bir ikili ağacın kökü verildiğini varsayarsak, bir ikili ağacın yüksekliğini hesaplayan ve yüksekliği döndüren en kısa programı yazın. En az bayt (muhasebe boşlukları) olan program kazanır.
h
. Bu meydan okuma amacıyla sadece listelerden yapılmış belirli bir yapıyı tanımlamak daha iyi olabilir.
[root_value, left_node, right_node]
her birinin left_node
ve right_node
aynı zamanda kabul edilebilir olduğu uzunluk 3'ün bir listesi mi? Birçok dilde önemsiz olacak, ancak bazılarında eğlenceli olabilir.
a tree is an object that contains a value and either two other trees or pointers to them
. Nesne içermeyen dilleri içeren bir tanım da güzel olurdu.