덱(Deque)은 Doubly-ended Queue의 약자로, 양쪽 끝에서 추가, 삭제가 가능한 선형 구조 형태의 자료 구조이다.덱(Deque)은 스택과 큐의 장점을 모아서 만들어진 형태이다.pushFront + popBack 또는 pushBack + popFront는
자료의 한 쪽 끝에서 삽입, 삭제가 같이 일어나는 스택과는 달리Queue는 자료의 한 쪽 끝에서 자료가 삽입되고, 그 반대쪽 끝에서 자료가 삭제되는 구조이다.참고로, 자료의 추가는 enQueue, 삭제는 deQueue라고 한다.큐에서 핵심이 되는 포인터가 2개 있는데,
스택은 블록을 아래에서부터 위로 쌓아 올리는 구조를 가지고 있으며, 가장 마지막에 들어간 원소가 가장 먼저 나오게 된다.이러한 자료구조의 특성을 LIFO(Last-in, First-out)라고 한다.스택의 연산은 Push, Pop으로 단순하다.Push 연산 시 가장 위
a와 b의 최대공약수는 (a를 b로 나눈 나머지)와 b의 최대공약수와 같다.큰 수를 작은 수로 나누어 구한 나머지로 큰 수를 대체한다.큰 수를 작은 수로 계속 나누어서, 나누어 떨어질 때까지 반복한다.나누어 떨어질 때(나머지가 0일 때), 나누는 수가 최대공약수이다.a
1과 그 수 자신 이외의 자연수로는 나눌 수 없는 자연수소수인지 검사하는 함수(isPrime)를 만든다.1부터 100 사이의 소수를 구하는 파이썬 코드위의 코드는 해당 수보다 작은 모든 수로 나누어 소수인지를 판단하는 방법이다.한 개의 소수를 구할 때는 괜찮지만 해당
해시 테이블은 (key, value) 형식으로 데이터를 저장하는 자료구조 중 하나로, key를 통해 평균 O(1)에 value를 검색할 수 있는 자료구조이다.해시 테이블은 key 값을 해시함수(Hash Function)를 사용하여 변환한 값을 index로 삼는다.해시
일반적으로 알고리즘의 성능 분석은 실행에 필요한 공간 측면에서 분석하는 공간 복잡도,실행 소요시간 측면에서 분석하는 시간 복잡도를 추정하여 평가한다.시간 복잡도의 가장 간단한 정의는 알고리즘의 성능을 설명하는 것이다.따라서 시간 복잡도는 프로세스가 수행해야하는 연산을