LFU (Least Frequently Used) 1. 개요 LFU(Least Frequently Used)는 캐시 메모리가 가득 찼을 때, 참조 횟수가 가장 적은 항목을 우선적으로 제거하여 새로운 데이터를 수용하는 캐시 교체 알고리즘이다. 캐시 교체 알고리즘의 핵심 목적은 한정된 메모리 공간 내에서 '히트율(Hit Rate, 요청한 데이터가 캐시에 존재할…
검색 결과
"공간 복잡도"에 대한 검색 결과 (총 35개)
소스코드 (Source Code) 1. 개요 소스코드란 프로그래밍 언어를 사용하여 사람이 읽을 수 있는 형태로 작성된 컴퓨터 프로그램의 설계도이자 텍스트 파일이다. 소프트웨어 개발의 가장 기초가 되는 단계로, 개발자가 논리적 흐름과 알고리즘을 텍스트 기반의 문법으로 기술하면, 이를 컴퓨터가 이해할 수 있는 이진수 형태의 기계어로 변환하여 실행하게 된다. 소…
Mark-and-Sweep 알고리즘 1. 개요 Mark-and-Sweep 알고리즘은 가비지 컬렉션(Garbage Collection, GC)의 가장 기본적인 추적(Tracing) 기반 메모리 관리 알고리즘으로, 더 이상 참조되지 않는 메모리 영역을 식별하여 자동으로 회수하는 기법이다. 이 알고리즘의 주 목적은 프로그램이 실행되는 동안 동적으로 할당된 메모리…
인접성 (Adjacency) 1. 개요 인접성(Adjacency)이란 수학 및 컴퓨터 과학에서 두 개의 객체 사이에 직접적인 연결 관계가 존재하거나, 정의된 위상/거리 체계 내에서 최소 단위의 근접성을 가지는 상태를 의미한다. 이는 단순히 물리적인 거리를 측정하는 것을 넘어, 그래프 이론에서는 정점 간의 연결 관계로, 위상수학에서는 근방(Neighborho…
Basic Linear Algebra Subprograms Basic Linear Algebra Subprograms(BL)는 선형대수 계을 위한 기본적인 연산들을 표화한 인터페이스 사양이다. BLAS는 벡터와렬의 덧셈 스칼라 곱, 내적, 행렬-벡터 곱, 행렬-행렬 곱 등과 같은 수치 선형대수의 핵심 연산들을 정의하며, 과학 계산, 머신러닝, 공학 시뮬레이…
수치해법 (Numerical Methods) 1. 개요 수치해법이란 수학적 문제를 산술 연산의 유한한 반복을 통해 근사적인 수치 해(Numerical Solution)로 찾아내는 알고리즘과 기법들의 집합을 의미한다. 수학적 문제는 크게 두 가지 방식으로 해결할 수 있다. 첫째는 해석적 해(Analytical Solution)로, 수학적 공식과 정리를 이용하…
해밍 거리 (Hamming Distance) 1. 개요 해밍 거리(Hamming Distance)란 길이가 동일한 두 문자열 또는 이진 시퀀스 사이에서 서로 다른 위치에 있는 요소의 개수를 측정하는 거리 함수이다. 1950년 리처드 해밍(Richard Hamming)에 의해 제안되었으며, 두 데이터가 얼마나 다른지를 수치화하여 데이터 전송 과정에서의 오류 …
깊이 우선 탐색 (Depth-First Search, DFS) 1. 개요 깊이 우선 탐색(Depth-First Search, DFS)은 그래프나 트리 구조에서 루트 노드(혹은 임의의 시작 노드)에서 시작하여 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 깊이 중심의 그래프 탐색 알고리즘입니다. DFS는 한 방향으로 갈 수 있을 때까…
최적화 개요 최적화(Optimization)는 소프트웨어 개발 및 시스템 운영에서 성능, 자원 사용량, 실행 시간, 메모리 소비 등을 개선하기 위한 체계적인 과정을 의미합니다. 특히 코드 최적화(Code Optimization)는 프로그램의 동작을 변경하지 않으면서도 더 효율적으로 동작하도록 소스 코드 또는 컴파일된 코드를 개선하는 기술을 말합니다. 이는 …
가우시안 프로세스 (Gaussian Process) 가우시안 프로세스(Gaussian Process, 줄여서 GP)는 기계 학습과 통계학에서 비모수적 베이지안 접근법을 사용하여 함수를 모델링하는 강력한 확률 과정(probabilistic process)입니다. 주로 회귀(Regression) 문제에서 예측의 불확실성을 정량화하는 데 널리 사용되며, 특히 데…
이진 탐색 트리(Binary Search Tree) 이진 탐색 트리(Binary Search Tree, BST)는 각 노드가 최대 두 개의 자식 노드를 가지며, 왼쪽 서브트리의 모든 노드 값이 현재 노드보다 작고 오른쪽 서브트리의 모든 노드 값이 현재 노드보다 큰 순서 속성을 만족하는 이진 트리의 일종입니다. 이러한 구조적 규칙 덕분에 BST는 특정 값을 …
Levenshtein Distance 개요 레벤슈타인 거리(Levenshtein Distance)는 두 문자열 간의 유사도를 측정하는 데 사용되는 편집 거리(Edit Distance)의 한 형태로, 한 문자열을 다른 문자열로 변환하는 데 필요한 최소한의 편집 연산 횟수를 나타냅니다. 이 개념은 러시아 수학자 블라디미르 레벤슈타인(Vladimir Levens…
블라디미 레벤슈타인 블라디미르 레벤슈인(Vladimir Levenshtein, 935년5월 20일 – 201년 9월2일)은 소련 및 러시아의 유명한 수학자이자 정보 이론 및 오류 정정 코드 분야의 선구자 중 명이다. 그 특히 레벤슈타인 거리(Levenshtein Distance) 널리 알려져, 이 개념은 문자열 간의 유사도를 측정하는 데 핵심적인 역할을 한…
DP 테이블 요 DP 테이블Dynamic Programming Table)은 동적획법(Dynamic Programming, DP) 구현할 때 사용하는 데이터 구조로, 주로 1차원 또는 2원 배열 형태로 표현된다. DP는 복잡한 문제를 작은 하위 문제로 나누어 해결한 후, 그 결과를 저장하고 재사용함으로써 중복 계산을 피하고 효율적으로 최적해를 도출하는 알고…
Damerau-Levenshtein 거리 개요 amerau-Levenshtein 거리(Damerau-Levenshtein Distance)는 두 문자열 간의 유사도를 측정하는 편집 거리(Edit Distance)의 일종으로, 문자열을 서로 변환하기 위해 필요한 최소 편집 연산의 수를 계산한다. 이 거리는 러시아 수학자 블라디미르 레벤슈타인(Vladimir …