Stack

BootCamp

[Java] DFS(깊이 우선 탐색)이란? Stack을 활용한 예제

안녕하세요 오늘은 DFS에 대해 알아보겠습니다. DFS는 Depth First Search의 약자이며, 깊이 우선 탐색이라고 부릅니다. 루트 노드나 임의의 노드에서 시작하여 최대로 진입할 수 있는 깊이까지 탐색한 후 돌아와 다른 노드로 탐색하는 방식입니다. Stack을 사용하여 데이터를 탐색합니다. 1. DFS (Depth First Search)의 장점과 단점 깊이 우선 탐색은 최대한 깊이 내려간 후 더 이상 깊이 갈 곳이 없으면 옆으로 이동합니다. 예를 들어, 미로 찾기에서는 최대한 한 방향으로 직진합니다. 더 이상 길이 없으면 Stack을 pop 하며 길을 찾아갑니다. ● 장점 현 경로상의 노드들만 기억하면 되므로 저장 공간 수요가 비교적 적습니다. 목표 노드가 깊은 단계에 있을 경우 해를 빨리 구..

BootCamp

[Java] 후위 표기법 (PostfixNotation) 스택 활용하여 구현하기

안녕하세요 오늘은 후위 표기법(PostfixNotation)에 대해 알아보겠습니다. 우리가 일반적으로 사용하는 표기법은 연산자 사이에 피연산자가 오는 중위 표기법입니다. 후위 표기법은 연산자를 피연산자의 뒤에 놓는 방법입니다. 스택의 응용의 대표적인 예이며, 수식은 계산기에서나 컴퓨터 프로그래밍을 할 때 자주 나타납니다. 1. 코드 구현 과정 1.선언 및 분해 public class PostfixNotation { public static void main(String[] args) { PostfixNotation pfn = new PostfixNotation(); Stack ms = new Stack(); String a = "113 + 11 - ( 32 - ( 9 - 2 + 6 ) )"; String..

기록하는 개발
'Stack' 태그의 글 목록