안녕 얘들 아 나는 방금 이진 트리를 배웠고 내 질문에 최근에 질문을 받았다. 내 믿을 수 없을 정도로 나쁜 구현과 질문에 대한 이해 부족으로 인해이 문제를 해결할 방법을 모를뿐입니다. 제발 도와주세요 !!!밸런스 이진 트리 코딩
n 노드를 가진 이진 트리 T는 어떤 노드에 대해서도 T에서 두 개의 하위 트리의 높이 차이가 h> = 0 인 경우 인 경우 h-balance라고합니다. 정수. 빈 나무의 높이가 -1이라고 가정합니다. 각 노드 u에 세 개의 필드가 있다고 가정합니다. u.lc는 왼쪽의 자식을 가리키고 u.lc = NULL은 왼쪽이없는 경우 NULL 자식입니다. u.rc가 u의 오른쪽 자식을 가리키고 u.rc가 NULL 일 경우 NULL입니다. u.height는 u에 뿌리를 둔 나무의 높이로 설정해야합니다.
(a) 트리의 루트를 가리키는 r이 주어지면 u : height에 각 노드 u의 높이를 채우는 알고리즘 (또는 C/C++)의 의사 코드로 알고리즘을 설계하십시오.
(b) 각 노드 u의 높이가 u.height에 저장되었다고 가정하면 알고리즘이 에 쓰여져 T가 균형을 이루는지 확인합니다. (힌트 : (a)에서 고안된 알고리즘 수정)