240111-TIL
2024. 1. 11. 21:20ㆍ내일배움캠프
1월 11일
오늘은 일어나자마자 알고리즘 문제 하나를 풀었다.
오늘의 문제!
더보기
![](https://blog.kakaocdn.net/dn/bytopR/btsDjXxQSW3/G1Qh8u7BvGqxP3SvBnAg90/img.png)
![](https://blog.kakaocdn.net/dn/b3V4Bv/btsDj0nStCs/L6rJSnygVdEOcvC9jjXVSK/img.png)
![](https://blog.kakaocdn.net/dn/bWXQQ1/btsDfQtiUF5/pygg2uTj3wcc1tYKGT7hC0/img.png)
![](https://blog.kakaocdn.net/dn/B7Nx9/btsDkTBEIDk/CzE9T1HOgZZOunjgPj3lV1/img.png)
![](https://blog.kakaocdn.net/dn/NYsbN/btsDj350BBZ/I52R2iTc2ywkUyfgHfwQ61/img.png)
김서방을 찾으면 되는데
문제 설명을 보자
![](https://blog.kakaocdn.net/dn/bytopR/btsDjXxQSW3/G1Qh8u7BvGqxP3SvBnAg90/img.png)
아하! 금방 하겠는데?
![](https://blog.kakaocdn.net/dn/b3V4Bv/btsDj0nStCs/L6rJSnygVdEOcvC9jjXVSK/img.png)
이게 서울
![](https://blog.kakaocdn.net/dn/bWXQQ1/btsDfQtiUF5/pygg2uTj3wcc1tYKGT7hC0/img.png)
우리는 서울의 집들을 전부 뒤져가지구?
![](https://blog.kakaocdn.net/dn/B7Nx9/btsDkTBEIDk/CzE9T1HOgZZOunjgPj3lV1/img.png)
내가 뒤진 집에 김서방이 살고있다면? answer에 말해준다.
![](https://blog.kakaocdn.net/dn/NYsbN/btsDj350BBZ/I52R2iTc2ywkUyfgHfwQ61/img.png)
금방했네!
그리고 나선 어제 알고리즘 시간에 정말 궁금했었던 이진 트리에 대한 내용을 정리해보겠다.
트리
더보기
![](https://blog.kakaocdn.net/dn/b5PoFc/btsDivvHqmL/dGEMKHfSKGoQVtC42xu100/img.gif)
![](https://blog.kakaocdn.net/dn/uqmrx/btsDnvnpPYX/75Zeg6A8iARKswLZ4GNVc1/img.png)
출처 : https://rosweet-ai.tistory.com/
트리는 계층적 자료구조로 부모 노드 하단에 자식 노드를 연결하여 구성되는 형태의 자료구조이다.
트리 용어 정리
- Root : 트리의 맨 위에 있는 노드, 유일한 부모가 없는 노드
- Node : 값을 가지고 있는 기본 단위 객체
- Edge : 상위 노드와 하위 노드 간의 연결하는 선(link)
- Branch : 한 노드에서 갈라져 나온 자식 노드의 수
- Parent : 해당 노드 바로 위에 있는 부모 노드
- Child : 해당 노드 바로 아래에 있는 자식 노드
- Sibling : 같은 부모를 같는 노드들
- Leaf : 더 이상 자식 노드가 없는 최하위 노드
- Sub Tree : 주어진 노드의 모든 하위 목록
- Depth : 노드에서 루트까지의 edge 수
- Height : 루트 노드와 가장 먼 leaf 사이의 edge 수
- Level : depth + 1
- Tree traversal : 트리의 모든 노드를 한번씩 방문하는 과정
트리에 대해 알아봤으니 그럼 도대체 이진 트리가 뭐냐?
이진 트리 : 노드의 최대 Branch가 2개인 트리
![](https://blog.kakaocdn.net/dn/b5PoFc/btsDivvHqmL/dGEMKHfSKGoQVtC42xu100/img.gif)
각 노드가 2개의 자식노드를 가질때 이진 트리라고 하는데
이때 자식노드는 각각 왼쪽 자식노드와 오른쪽의 자식노드로 표현한다
최대 2개이기 때문에 자식이 있을수도 없을수도 있다.
2진트리의 장점은 1차원 배열로 표현할 수 있다는 점인데
![](https://blog.kakaocdn.net/dn/uqmrx/btsDnvnpPYX/75Zeg6A8iARKswLZ4GNVc1/img.png)
단점이라 한다면 배열의 한계인 공간의 제약이나 데이터의 삽입, 삭제시에 기존 데이터의 이동과 같은 단점은
극복할 수 없다고 한다.
오늘은 간단한 알고리즘 문제와 함께 궁금했던 트리에 대해서 알아보고
이진트리의 장 / 단점에 대해서 알아보았다.
그림으로 자세히 설명되있는 글들이 많아서 이해하는데 굉장히 많은 도움이 됬던 이진 트리였다.
이렇게 1월 11일 TIL을 마치도록 하겠다.
'내일배움캠프' 카테고리의 다른 글
240115-TIL (0) | 2024.01.15 |
---|---|
240112-TIL (0) | 2024.01.12 |
240110-TIL (0) | 2024.01.10 |
240109 - TIL (0) | 2024.01.09 |
240108-TIL (0) | 2024.01.08 |