IT

패스트캠퍼스 환급챌린지 14일차 : 딥러닝·인공지능 Signature 초격차 패키지 강의 후기

tstory7 2025. 3. 18. 22:01

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

강의 수강 시작

 

 

 

 

 

강의 수강 완료

 

학습인증샷

 

 

 

오늘은 트리에 대해 학습하였다. 트리는 계층적인 구조를 표현할 때 사용하는 자료구조이며, 마치 나무를 거꾸로 뒤집어 놓은 듯한 형태를 가지고 있다. 트리는 여러 개의 노드로 이루어져 있으며, 각 노드는 부모와 자식 간의 관계를 가진다. 일반적으로 상위에 위치한 노드를 부모라고 부르고, 그 아래에 연결된 노드를 자식이라고 한다.

트리에서 가장 최상위에 있는 노드는 루트 노드라고 한다. 루트 노드는 트리 구조에서 출발점의 역할을 하며, 트리 내에서 유일하게 존재하는 노드이다. 반면, 자식 노드가 전혀 존재하지 않는 노드를 단말 노드라고 한다. 단말 노드는 더 이상 확장되지 않는 끝부분의 노드를 의미하며, 트리의 가장 말단에 위치한다. 또한, 같은 부모를 공유하는 노드들은 형제 관계를 이루며, 서로 나란히 위치하게 된다. 트리의 깊이는 루트 노드에서 특정 노드까지 도달하기 위해 거쳐야 하는 경로상의 선의 개수를 의미한다. 깊이는 트리의 구조를 분석하고 이해하는 데 중요한 개념으로 작용하며, 트리의 높이와도 밀접한 연관이 있다. 이진 트리는 각 노드가 최대 두 개의 자식을 가질 수 있는 트리 구조를 의미한다. 

트리에서 노드를 삭제하는 방법은 총 세 가지 경우로 구분할 수 있다. 첫 번째 경우는 왼쪽 자식이 존재하지 않는 경우로, 이때는 오른쪽 자식이 해당 노드를 대신하게 된다. 두 번째 경우는 오른쪽 자식이 존재하지 않는 경우로, 이 경우에는 왼쪽 자식이 노드를 대체하게 된다. 마지막 세 번째 경우는 두 개의 자식이 모두 존재하는 경우로, 이때는 오른쪽 서브트리에서 가장 작은 값을 가진 노드가 삭제된 노드를 대신하게 된다. 이러한 규칙을 활용하면 트리를 효율적으로 관리하고 유지할 수 있다.

오늘 배운 개념을 바탕으로 트리를 실제 코드로 구현하는 방법도 익힐 수 있었다. 파이썬을 사용하여 트리를 나타내는 방법을 배우면서, 트리 구조가 실무에서 어떻게 활용되는지에 대해서도 관심이 생겼다. 앞으로 트리가 다양한 분야에서 어떻게 응용되는지 더 깊이 있게 배우고 싶다.

 


https://bit.ly/4hTSJNB