본문 바로가기
728x90
반응형

Programming Language34

[Java/개념] 자바 가상 머신(Java Virtual Machine) 자바 가상 머신(JVM)은 자바 프로그램을 실행하는 가상의 운영체제입니다. 자바 프로그램은 중간 단계의 바이트코드를 사용하므로, 이를 실행할 수 있는 JVM이 필요합니다. JVM은 자바 프로그램이 다양한 운영체제에서 동일하게 실행될 수 있게 해주는 중요한 역할을 합니다.1. JVM의 개념자바 프로그램은 운영체제에서 직접 실행되지 않습니다. 자바 소스 코드는 기계어가 아닌 바이트코드로 컴파일되며, 이를 해석하고 실행하는 가상의 환경이 JVM입니다.JVM은 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공하며, 메모리 관리와 같은 시스템 자원을 효율적으로 관리합니다.운영체제마다 프로그램 실행 방식이 다르지만, JVM은 자바 프로그램이 다양한 운영체제와 기기에서 동일하게 동작하도록 설계되었습니다.2.. 2024. 10. 4.
[개념] 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS) 깊이 우선 탐색(DFS: Depth-First Search)와 너비 우선 탐색(BFS: Breadth-First Search)는 대표적인 그래프 노드 탐색 알고리즘으로 둘 다 트리와 같은 그래프 구조에서 데이터를 탐색하는 방식이다.   [깊이 우선 탐색(DFS)]1. 개념그래프 완전 탐색 기법 중 하나로 스택 자료구조를 사용하여 깊이를 우선적으로 탐색하는 알고리즘으로 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하고, 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 방식이다. - 자기 자신을 호출하는 순환 알고리즘 형태를 지니고 있어 재귀 함수로 구현이 가능하다.*실제 구현 시 재귀 함수를 이용하므로 스택 오버플로에 유의해야 한다.- 그래프 탐색 시 어떤 노드를 방문했었는지.. 2024. 9. 12.
[개념] 정렬 알고리즘 1. 배열 정렬하기 위한 내장 메서드(java.util.Arrays) 1) Arrays.sort(Array) : 기본 유형 또는 객체의 배열을 오름차순으로 정렬2) Arrays.sort(Array, fromIndex, toIndex) : fromIndex 및 toIndex 매개변수로 지정된 배열의 일부만 정렬3) Arrays.sort(Array, comparator) : Comparator를 사용하여 배열 정렬4) Arrays.parallelSort(Array) : 여러 스레드를 활용하여 배열 병렬로 정렬5) Arrays.parallelSort(Array, fromIndex, toIndex) : 오버로드된 parallelSort 메서드 버전을 사용하여 배열의 특정 요소 범위를 정렬 import java... 2024. 9. 12.
[개념] stack 과 queue 1. Stack- 삽입과 삭제 연산이 후입선출(Last-in first-out)로 이루어지는 자료구조이다. 후입선출은 삽입과 삭제가 한 쪽에서만 일어나는 특징을 가지고 있다.- 새 값이 스택에 들어가면 top이 새 값을 가리킨다. 스택에서 값을 빼낼 때 pop은 top이 가리키는 값을 스택에서 빼게 되어 있으므로 결과적으로는 가장 마지막에 넣었던 값이 나오게 된다. (단방향 입출력 구조: 데이터의 들어오는 방향과 나가는 방향이 같다. > 데이터를 하나씩만 넣고 뺄 수 있다)- 깊이 우선 탐색(DFS: Depth First Search), 백트래킹 종류의 로직에 효과적이다.- 재귀 함수의 동작 흐름과 같은 구조이다 [용어 설명]1) push() : top 위치에 새로운 데이터를 삽입하는 연산2) pop().. 2024. 9. 9.
728x90
반응형