이진 트리의 높이는 루트 노드에서 루트에서 가장 먼 노드 자식까지의 거리입니다.
아래는 예입니다.
2 <-- root: Height 1
/ \
7 5 <-- Height 2
/ \ \
2 6 9 <-- Height 3
/ \ /
5 11 4 <-- Height 4
이진 트리의 높이 : 4
이진 트리의 정의
트리는 부호있는 정수 값과 다른 두 개의 트리 또는 포인터를 포함하는 객체입니다.
이진 트리 구조체의 구조는 다음과 같습니다.
typedef struct tree
{
struct tree * l;
struct tree * r;
int v;
} tree;
도전 과제 :
입력
이진 트리의 루트
산출
이진 트리의 높이를 나타내는 숫자
이진 트리의 루트가 입력으로 주어 졌다고 가정하면 이진 트리의 높이를 계산하고 높이를 반환하는 가장 짧은 프로그램을 작성하십시오. 바이트 수가 가장 적은 프로그램 (공백 공백)이 이깁니다.
h
. 이 도전의 목적을 위해 목록으로 구성된 특정 구조를 정의하는 것이 좋습니다.
[root_value, left_node, right_node]
각각의 경우 left_node
와는 right_node
이진 트리가 허용도 있습니까? 많은 언어에서 사소한 것이지만 다른 언어에서는 재미있을 수 있습니다.
a tree is an object that contains a value and either two other trees or pointers to them
입니다. 객체가없는 언어를 포함하는 정의도 좋습니다.