스택

· Algorithm
Java DFS(Depth First Search) 구현하기 Java로 DFS(Depth First Search)를 구현하는 방법에 대해 알아보겠습니다. 1. 그래프의 탐색 그래프의 탐색은 하나의 정점으로부터 시작하여 모든 정점을 차례대로 한 번씩 방문하는 것을 의미합니다. 예를 들어 특정 도시에서 다른 도시로의 이동 여부 판별이나 회로에서 단자와 단자의 연결 여부 확인 등에 사용됩니다. 그래프 탐색에서 대중적으로 많이 알려진 알고리즘은 DFS와 BFS가 있는데 이번 포스팅에서는 DFS에 대해서 알아보도록 하겠습니다. 2. 깊이 우선 탐색(DFS, Depth First Search) 깊이 우선 탐색(DFS)는 루트 노드나 임의의 노드에서 시작하여 최대한 깊숙히 들어가서 탐색한 후 다시 원점으로 돌아가 다..
Java 연결 리스트로 스택(Stack) 구현하기 Java의 연결 리스트를 사용하여 스택을 구현하는 방법에 대해 알아보겠습니다. 1. 연결 리스트를 이용한 스택 구현 스택은 추상 자료형이기 때문에 구현 방법을 따로 명시하지 않아 다양한 방법으로 구현이 가능합니다. 다음은 이전에 알아봤던 연결리스트를 사용하여 구현한 스택의 소스코드입니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051..
Java 배열로 스택(Stack) 구현하기 Java의 배열을 이용하여 스택(Stack)을 구현하는 방법에 대해 알아보겠습니다. 1. 스택(Stack) 스택은 제한적으로 접근할 수 있는 나열된 구조입니다. 후입선출(LIFO: Last In First Out)의 자료구조이며, 접근이 목록의 끝(Top 또는 Top Pointer)에서만 일어나기 때문에 Pushdown List 라고도 합니다. 스택에서 입력은 push, 출력은 pop, Top 위치의 데이터 확인은 peek 를 사용합니다. 스택은 추상자료형(Abstract Data Type)으로 수학적 모델을 가졌으며 구현 방법을 따로 명시하고 있지 않다는 점에서 자료구조와 차이를 보입니다. 이러한 특징은 다양한 방법으로 구현될 수 있음을 의미합니다. 다음은 스..
JVM 메모리구조 JVM(Java Virtual Machine)은 Java로 개발한 응용 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시키기 위한 가상머신입니다. JRE(Java Runtime Environment)에 포함되어 있으며, Java 컴파일러가 프론트엔드를 담당한다면 Java 가상 머신은 코드 최적화와 백엔드를 담당합니다. Java 소스 코드는 javac 컴파일러를 거쳐 바이트코드로 변환되며, 이 바이트코드는 JRE에 들어있는 java classloader에 의해 JVM으로 적재되고 JVM은 적재된 바이트코드를 JIT 컴파일러를 사용한 방식으로 실행합니다. JVM은 플랫폼 독립적인 특성을 가지며, JVM이 실행 가능한 환경이라면 어디서든 Java 프로그램이 실행될 수 있도록 합니다. 하지만..
freestrokes
'스택' 태그의 글 목록