중위표기식을 후위표기식으로 변환하기 (Java)
표기식(expression)* 중위표기식(A+B)-C*D/E 처럼 연산자가 직접 연산하는 피연산자 사이에 위치하는 표기식* 후위표기식AB+CD*E/- 처럼 피연산자 뒤에 연산자가 위치하는 표기식배경지식중위표기식을 후위표기식으로 변환하려면 연산에 대한 '우선순위'를 알아야 한다.우선순위는 다음과 같다.소괄호중괄호대괄호^, *, / __제곱, 곱셈, 나눗셈+, - __ 덧셈, 뺄셈소괄호 안에 있는 식을 계산하고, 다음으로 중괄호 안에 있는 식을 계산하고, 다음으로 대괄호 안에 있는 식을 계산한다.변환 방법피연산자는 바로 출력한다.여는 괄호를 만나면 stack에 push 한다.^, *, / 피연산자를 만나면 stack의 peek가 자신과 같은 우선순위인지 파악하고, 같다면 pop을 한 번 하고, 자신을 pus..
2025. 4. 12.
Tree (트리)
트리는 스택, 큐, 연결리스트와는 다르게 비선형적 자료구조이다.트리는 계층 구조로 이루어져 있다.계층 구조로 나타내기 적합한 자료는 가계도, 목차-내용, 폴더-파일 관계 등이 있다. 보통 일반 적인 경우에는 이진 트리를 많이 사용한다.특별한 경우(게임 맵, 웹사이트의 카테고리 등)에서는 삼진 이상의 다진 트리를 이용하기도 한다. 트리는 가지는 특징에 따라서 이진 트리, 완전 이진 트리, B-Tree, AVL트리, 레드 블랙 트리 등등 다양한 이름으로 불린다.마치 이브이같다.이 포스트에서는 트리의 특징에 대해서 설명하고, 트리의 개념을 이해하자.트리는 한 개 이상의 요소(노드)로 이루어진 유한 집합이다. 이들 중에서 특정 한 개의 노드는 root node라고 불리고, 나머지는 subtree(서브 트리)라고..
2024. 10. 3.