분류 전체보기(613)
-
버블 정렬 (Bubble Sort) (C++)
버블 정렬 (Bubble Sort)버블 정렬은 가장 간단한 정렬 알고리즘 중 하나. 인접한 두 데이터를 비교하여 크기 순서에 맞지 않으면 자리를 바꾸는 방식으로, 가장 큰 값(또는 가장 작은 값)이 거품처럼 배열의 끝으로 올라간다고 해서 버블 정렬이라고 불린다.동작 원리배열의 첫 번째 요소부터 시작하여 인접한 두 값을 비교.두 값이 정렬 기준(오름차순 또는 내림차순)에 맞지 않으면 교환(swap).한 번의 반복이 끝나면 가장 큰 값(또는 가장 작은 값)이 배열의 맨 끝에 위치.위 과정을 배열의 크기만큼 반복하며, 매번 비교 범위는 하나씩 줄어든다.특징시간 복잡도:최악/평균: O(n^2)최선 (이미 정렬된 경우): O(n)공간 복잡도: O(1) (추가 메모리 사용 없음)안정적 정렬: 값이 같을 경우 원래의..
2025.01.04 -
정렬 (C++)
1. 정렬 (Sorting)정렬은 데이터를 특정 기준에 따라 순서대로 배열하는 작업.정렬 알고리즘의 주요 개념비교 기반 정렬: 데이터 간의 크기를 비교하여 순서를 정한다.안정적 정렬 (Stable Sort): 동일한 값이 있을 때, 원래 순서를 유지하는 정렬 방식. 예를 들어, 나이순으로 정렬하면서 이름순을 유지해야 할 때 안정적 정렬이 필요.시간 복잡도: 정렬 알고리즘의 효율성을 나타내는 척도. (https://gangdonggil.tistory.com/80)최선, 평균, 최악의 경우에 따라 다를 수 있다.기본 정렬 알고리즘버블 정렬 (Bubble Sort) (https://gangdonggil.tistory.com/84)동작 원리: 인접한 두 개의 데이터를 비교하여 크기가 작은 값을 앞으로 보내는 방..
2025.01.04 -
데이터 타입 (C++)
1. 기본 데이터 타입 (Fundamental Data Types)정수형 (Integer Types)정수를 저장데이터 타입크기 (바이트)값의 범위예시short2-32,768 ~ 32,767short a = 10;int4-2,147,483,648 ~ 2,147,483,647int b = 20;long4 또는 8플랫폼에 따라 다름long c = 1000;long long8-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807long long d = 100000LL;부호 없는 정수형 (Unsigned Integer Types)양수만 저장데이터 타입크기 (바이트)값의 범위예시unsigned short20 ~ 65,535unsigned short a = 300;unsig..
2025.01.04 -
시간 복잡도
시간 복잡도란? 시간 복잡도(Time Complexity)는 알고리즘이 입력 크기(데이터 개수, nnn)에 따라 실행되는 데 걸리는 시간을 표현하는 척도. 알고리즘의 효율성을 비교할 수 있다. 시간 복잡도는 보통 빅오 표기법(Big-O Notation - https://gangdonggil.tistory.com/15)을 사용하여 최악의 경우에 걸리는 시간을 나타낸다. 주요 시간 복잡도 비교 시간 복잡도 입력 크기 (n=10)입력 크기 (n=1,000)설명O(1)1회 실행1회 실행입력 크기에 상관없이 일정O(log n)4회 실행10회 실행입력 크기 증가에도 느리게 증가O(n)10회 실행1,000회 실행입력 크기만큼 실행O(n^2)100회 실행1,000,000회 실행입력 크기 제곱만큼 실행 결론시간 복잡도..
2025.01.04 -
More C++ Idioms (79. SFINAE - Substitution Failure Is Not An Error)
출처: https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/SFINAE More C++ Idioms/SFINAE - Wikibooks, open books for an open worldFrom Wikibooks, open books for an open world Jump to navigation Jump to search Prune functions that do not yield valid template instantiations from a set of overloaded functions. Substitution Failure Is Not An Error Strictly, SFINAE is a language feature aen.wikibooks.org ..
2024.08.28 -
More C++ Idioms (55. Named Parameter)
출처: https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Named_Parameter More C++ Idioms/Named Parameter - Wikibooks, open books for an open worldFrom Wikibooks, open books for an open world Jump to navigation Jump to search Simulate named (key-value pair) parameter passing style found in other languages instead of position-based parameters. Method chaining, Fluent interface When a function takes m..
2024.08.11