입력값을 가지고 트리를 인접배열로 구현한다.루트를 1로주고 순회하면서 각노드의 부모를 저장한다\-> 부모를 저장하는 자료구조가 하나 더필요하겠다dfs ,bfs 개념sys.setrecursionlimit(10\*\*9) 파이썬은 재귀의 깊이 제한이 굉장히 낮으므로 올려준
이진트리를 입력 받았다.입력을 트리로 구현하고요구하는 순회 방법대로 순회한다.전위순회, 중위순회, 후위순회 개념
이진트리라는 것을 확인전위순회의 첫번째는 무조건 루트라는것루트보다 큰원소가 나오면 오른쪽 서브트리의 시작 !, 왼쪽 서브트리와 오른쪽 서브트리를 찾아내순회 개념순회 문제에서는 각 서브트리의 인덱스 시작점을 잘계산하는게 중요하다.
깊이가 k 일때 노드의 개수가 2^k -1 개라는 것을 가지고 포화 이진트리라는 것을 알 수 있다.이때 중위순회 결과를 봤을때 중간에 있는 값이 루트 노드라는 것을 알 수 있다.루트 노드를 먼저 찾고 양쪽의 서브트리에서 또다시 루트노드를 찾는 것을 반복해서 레벨별로 저
트리를 구현한다.애초에 부모를 주어준다고 명시되어 있기때문에 양방향으로 저장할 필요가 없다.각 부모별로 자식을 저장하는데 지워야되는 노드는 추가하지 않는다.그다음 트리를 순회하면서 자식노드가 없는애들일때마다 답을 1씩 증가시켜주면 된다.부모노드를 줄땐 굳이 양방향으로
Cycle이 없는 트리는 간선을 제거하면 모든 간선이 단절선이 된다. 단절점은 해당 정점에 간선이 두개이상 연결되어있으면 해당 정짐이 단절점이다.트리의 개념단절점 , 단절선 개념
양방향 연결 정보를 가지고있는 트리를 구현하고리프노드의 개수를 세서 물의양 나누기 리프노드의 수 하면 된다.setrecursionlimit(1-\*\*9) 잊지말자