프로그래머스 길 찾기 게임 - 이진 트리 자료구조로 풀기

문제 링크 프로그래머스 길 찾기 게임 문제 설명 x, y 좌표로 이루어진 이진 트리의 맵에서 전위 순회, 후위 순회 방식으로 순회한 노드의 번호들을 반환하는 문제입니다. 문제 해결 방법 이 문제를 해결하기 위해서 트리 자료구조를 만들어서 문제를 해결했습니다. 트리 자료구조 만들기 class Node: def __init__(self, x, y, value=None, left=None, right=None, parent=None): self.x = x self.y = y self.value = value self.left = left self.right = right self.parent = parent 필드 구성: x와 y 좌표 자식 노드를 저장할 left, right 부모 노드를 가리키는 parent 필드 노드를 추가하는 방식 노드 추가 방식은 양방향 링크드 리스트와 유사하게 작성했습니다. ...

May 13, 2023 · Lee WooJin

이진트리의 전위, 중위, 후위 순회 알아보기

이진트리란? 이진 트리는 루트(Root) 노드에서 시작하여 각 노드는 왼쪽 서브트리(Left Subtree)와 오른쪽 서브트리(Right Subtree)로 이루어져 있습니다. 각 노드의 자식 노드는 최대 두 개이기 때문에, 이진 트리는 가장 단순한 형태의 트리 중 하나입니다. 이진트리의 활용 분야 데이터베이스: 색인(Index)을 만드는 데 사용 정렬 알고리즘: 이진 탐색 트리(Binary Search Tree) 압축 알고리즘: 허프만 코딩(Huffman Coding) 인공지능: 의사결정나무(Decision Tree) 이진트리의 장단점 장점 검색 속도가 빠릅니다 데이터를 효율적으로 저장합니다 구현이 간단합니다 단점 균형이 맞지 않을 경우 성능이 저하됩니다 트리의 높이가 너무 높아질 수 있습니다 메모리 사용량이 많을 수 있습니다 이진트리의 순회 방법 1 / \ 2 3 / \ / \ 4 5 6 7 전위 순회 (Preorder) ...

May 11, 2023 · Lee WooJin