공간 복잡도 (Space Complexity) 개요 공간 복잡도(Space Complexity)는 알고리즘이 실행되는 동안 필요한 메모리 자원의 양을 정량적으로 나타내는 척도입니다. 시간 복잡도가 알고리즘의 실행 속도를 분석하는 데 초점을 맞춘다면, 공간 복잡도는 알고리즘이 얼마나 많은 메모리(주로 RAM)를 사용하는지를 분석합니다. 이는 특히 메모리 제약…
검색 결과
"공간 복잡도"에 대한 검색 결과 (총 30개)
가중치 큐 (Weighted Queue) 1. 개요 가중치 큐(Weighted Queue)란 큐에 삽입되는 각 요소에 특정 수치인 '가중치(Weight)'를 부여하여, 단순한 선입선출(FIFO, First-In-First-Out) 방식이 아닌 가중치 값에 따라 처리 순서나 처리 빈도를 결정하는 데이터 구조 및 알고리즘을 통칭합니다. 엄밀히 말해 가중치 큐는…
자기-어텐션 (Self-Attention) 1. 개요 자기-어텐션(Self-Attention)은 입력 시퀀스 내의 각 토큰이 동일한 시퀀스 내의 다른 모든 토큰과의 관계를 계산하여, 현재 토큰의 의미를 가장 잘 설명하는 문맥적 정보를 동적으로 추출하는 메커니즘이다. 이는 입력 데이터의 각 요소가 서로 어떤 연관성을 가지고 있는지를 파악함으로써, 문장 내의 …
열전도 방정식 수치해법 (Numerical Methods for Heat Equation) 1. 개요 열전도 방정식 수치해법은 시간에 따른 온도 분포의 변화를 기술하는 편미분 방정식(Partial Differential Equation, PDE)을 컴퓨터가 계산 가능한 이산적인 형태로 변환하여 근사해를 구하는 수치해석적 방법론이다. 본 문서에서는 가장 대표…
Transformer-XL 1. 개요 Transformer-XL(Extra Long Transformer)은 기존 Transformer 모델의 고정된 컨텍스트 길이 제한을 극복하기 위해 제안된 대규모 언어 모델 아키텍처로, 세그먼트 수준의 재귀 메커니즘을 통해 매우 긴 의존성(Long-term dependency)을 학습할 수 있도록 설계된 모델이다. 기존…
계산 위상수학 (Computational Topology) 1. 개요 계산 위상수학(Computational Topology)은 [[위상적 불변량]](Topological Invariants)을 알고리즘적으로 계산하고 분석하는 수학 및 컴퓨터 과학의 융합 학문이다. 위상수학이 공간의 연속적인 변형에도 변하지 않는 성질을 연구하는 순수 수학 분야라면, 계산 …
트랜스포머 개요 트랜스포머(Transformer)는 자연어처리LP) 분야 혁신적인 영향을 미친 딥러닝 아키텍처로, 2017년글과 빌런드 연구소의 연구자들이 발표한 논문 "Attention is All You Need"에서 처음 소개되었습니다. 기존의 순차적 처리 방식을 기반으로 한 순환신경망(RNN)이나 합성곱신경망(CNN)과 달리, 트랜스포머는 어텐션 메…
최장 공통 부분 수열 개요 최장통 부분 수열(Longest Subsequence, 이하 LCS)은 개 이상의 문자열(또는 수열)에서 동시에 나타나는 부분 수열(subsequence) 중 가장 긴 것을 찾는 문제입니다. 이 알고리즘은 자연어처리(NLP), 생물정보학, 버전 관리 시스템(예: git diff), 텍스트 비교 도구 등 다양한 분야에서 핵심적으로 …
난수 생성기 (Random Number Generator) 1. 개요 난수 생성기(Random Number Generator, RNG)란 무작위성(Randomness)을 가진 숫자 수열을 생성하는 장치나 알고리즘을 의미한다. 컴퓨터는 기본적으로 입력값이 같으면 항상 동일한 결과값을 출력하는 결정론적(Deterministic) 시스템이다. 그러나 현대의 컴퓨…
배열 슬라이싱 (Array Slicing) 1. 개요 배열 슬라이싱(Array Slicing)이란 배열이나 리스트와 같은 선형 데이터 구조에서 특정 인덱스 범위를 지정하여 연속된 요소들의 부분 집합을 추출함으로써 새로운 부분 배열을 생성하는 기법이다. 이 작업의 주된 목적은 전체 데이터셋 중 분석이나 처리가 필요한 특정 구간만을 효율적으로 분리하여 데이터 …
어휘 재구성 (Vocabulary Reconstruction) 1. 개요 어휘 재구성(Vocabulary Reconstruction)이란 자연어 처리(NLP) 모델이 텍스트를 처리하기 위해 사용하는 기본 단위인 어휘 사전(Vocabulary)을 데이터의 통계적 특성에 맞게 효율적으로 다시 정의하고 구축하는 전처리 과정을 의미한다. 현대 NLP의 핵심 목적은…
R hclust 1. 개요 hclust()는 R 언어의 기본 패키지(stats)에서 제공하는 함수로, 계층적 군집 분석(Hierarchical Clustering)을 수행하는 도구입니다. 계층적 군집 분석이란 데이터 포인트 간의 유사성을 측정하여 유사한 데이터끼리 순차적으로 묶어 나가는 분석 방법으로, 최종적으로 모든 데이터가 하나의 군집으로 합쳐질 때까지…
코딩 이론 (Coding Theory) 1. 개요 코딩 이론(Coding Theory)은 정보를 효율적으로 전송하고 저장하기 위해 데이터를 특정한 규칙에 따라 변환하는 수학적 방법론을 연구하는 학문이다. 주된 목적은 데이터의 중복성을 제거하여 전송 효율을 높이는 '효율성'과, 전송 과정에서 발생하는 잡음(Noise)으로 인한 오류를 검출하고 수정하는 '신뢰…
LRU (Least Recently Used) 1. 개요 LRU(Least Recently Used)는 캐시 교체 알고리즘의 하나로, 가장 오랫동안 참조되지 않은 데이터를 우선적으로 제거하여 새로운 데이터를 수용하는 메모리 관리 전략이다. 이 알고리즘은 "최근에 사용된 데이터가 가까운 미래에 다시 사용될 가능성이 높다"는 가정하에 동작하며, 한정된 캐시 공…
목표 기반 인코딩 목표 기반 인코딩(Target-based Encoding)은 범주형 변수(Categorical Variable)를 수치형 변수로 변환 데이터 인코딩법 중 하나로, 특히 지도 학습(Supervised Learning)에서 목표 변수(Target Variable)와의 관계를 활용하여 인코딩을하는 방법입니다. 이 방은 단순한 레이블 인코딩(La…
LFU (Least Frequently Used) 1. 개요 LFU(Least Frequently Used)는 캐시 메모리가 가득 찼을 때, 참조 횟수가 가장 적은 항목을 우선적으로 제거하여 새로운 데이터를 수용하는 캐시 교체 알고리즘이다. 캐시 교체 알고리즘의 핵심 목적은 한정된 메모리 공간 내에서 '히트율(Hit Rate, 요청한 데이터가 캐시에 존재할…
소스코드 (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는 벡터와렬의 덧셈 스칼라 곱, 내적, 행렬-벡터 곱, 행렬-행렬 곱 등과 같은 수치 선형대수의 핵심 연산들을 정의하며, 과학 계산, 머신러닝, 공학 시뮬레이…