5. 이진 탐색
개념 정렬된 배열에서 탐색 범위를 절반씩 줄여가며 원하는 값을 찾는 알고리즘이다. 핵심 아이디어 정렬된 배열: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] 찾는 값: 11 1단계: mid = (0+9)/2 = 4, arr[4] = 9 < 11 → 오른쪽 탐색 [_, _, _, _, _, 11, 13, 15,...
개념 정렬된 배열에서 탐색 범위를 절반씩 줄여가며 원하는 값을 찾는 알고리즘이다. 핵심 아이디어 정렬된 배열: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] 찾는 값: 11 1단계: mid = (0+9)/2 = 4, arr[4] = 9 < 11 → 오른쪽 탐색 [_, _, _, _, _, 11, 13, 15,...
개념 덱(Deque, Double-Ended Queue)은 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조이다. 스택과 큐의 특성을 모두 갖는다 앞(front)과 뒤(rear) 모두에서 삽입/삭제가 O(1) push_front, push_back, pop_front, pop_back 연산 지원 슬라이딩 윈도우 최솟값/최댓값, 회문 ...
SQL 개요 SQL(Structured Query Language)은 관계형 데이터베이스를 관리하고 조작하기 위한 표준 언어다. SQL 분류 1. DDL (Data Definition Language) - 데이터 정의 CREATE, ALTER, DROP, TRUNCATE 2. DML (Data Manipulation Language) - ...
개념 비교 기반이 아닌 O(N) 시간의 정렬 알고리즘들이다. 비교 기반 vs 비비교 기반 분류 하한 원리 제약 비교 기반 Ω(N log N) 원소 간 대소 비교 없음 비비교 기반 ...
개념 큐는 FIFO(First In First Out) 원칙을 따르는 자료구조이다. 가장 먼저 삽입된 요소가 가장 먼저 삭제된다. 뒤(rear)에서 삽입, 앞(front)에서 삭제가 일어난다 enqueue/push: 요소 삽입 dequeue/pop: 요소 삭제 front: 맨 앞 요소 확인 BFS, 작업 스케줄링, 버퍼 관리 등...
DB 설계 과정 요구사항 분석 ↓ 개념적 설계 (ER 모델) ↓ 논리적 설계 (릴레이션 변환) ↓ 정규화 ↓ 물리적 설계 (인덱스, 저장 구조) ↓ 구현 ER 모델 (Entity-Relationship Model) 현실 세계를 개체(Entity)와 관계(Relationship)로 모델링하는 개념적 데이터 모델. 구성 요소 ...
개념 분할 정복(Divide and Conquer) 기반의 O(N log N) 정렬 알고리즘들이다. 분할 정복 패러다임 분할 (Divide): 문제를 작은 부분 문제로 나눔 정복 (Conquer): 부분 문제를 재귀적으로 해결 결합 (Combine): 부분 문제의 해를 합쳐 전체 해 도출 비교 기반 정렬의 하한 비교 기반 ...
개념 스택은 LIFO(Last In First Out) 원칙을 따르는 자료구조이다. 가장 나중에 삽입된 요소가 가장 먼저 삭제된다. 한쪽 끝(top)에서만 삽입과 삭제가 일어난다 push: 요소 삽입 pop: 요소 삭제 top/peek: 맨 위 요소 확인 함수 호출 스택, 수식 계산, 괄호 검사 등에 활용된다 핵심 연산 &a...
관계 데이터 모델 관계 데이터 모델(Relational Data Model)은 데이터를 2차원 테이블(릴레이션) 형태로 표현하는 논리적 데이터 모델이다. 1970년 E.F. Codd가 제안하였으며, 현재 가장 널리 사용되는 데이터 모델이다. 릴레이션의 구성 릴레이션 (Relation) = 테이블 ┌──────────────────────────...
개념 정렬(Sorting)은 데이터를 특정 기준에 따라 순서대로 나열하는 알고리즘이다. 정렬의 분류 분류 설명 예시 비교 기반 원소 간 비교로 정렬 버블, 선택, 삽입, 퀵, 병합 비비교 기반 비교 ...