목록분류 전체보기 (127)
JB의 이모저모
큐 (Queue)FIFO (First In First Out) 원칙을 따르는 선형 데이터 구조먼저 들어간 요소가 먼저 나온다 대기열의 기본 작업enqueue(): 큐의 끝, 즉 뒤쪽에 요소를 삽입합니다.dequeue(): 이 연산은 큐의 앞쪽에 있는 요소를 제거하고 반환합니다.front(): 이 연산은 요소를 제거하지 않고 프런트엔드의 요소를 반환합니다.rear(): 이 연산은 요소를 제거하지 않고 뒤쪽에 있는 요소를 반환합니다.isEmpty(): 이 연산은 큐가 비어 있는지 여부를 나타냅니다.isFull(): 이 연산은 큐가 가득 찼는지 여부를 나타냅니다.size(): 이 연산은 큐의 크기, 즉 큐에 포함된 총 요소 수를 반환합니다. 큐의 유형선형 큐 (Linear Queue)큐의 가장 기본적인 버전삽..
연결 리스트(Linked List)선형 데이터 구조로, 요소가 연속된 위치에 저장되지 않고 포인터를 사용하여 연결됩니다. 연결 리스트는 일련의 연결된 노드를 형성하며, 각 노드는 데이터와 다음 노드의 주소를 저장합니다. 노드 구조:연결 목록의 노드는 일반적으로 다음 두 가지 구성 요소로 구성됩니다.데이터: 노드와 관련된 실제 값이나 데이터를 보관합니다.다음 포인터 또는 참조: 시퀀스의 다음 노드의 메모리 주소(참조)를 저장합니다.
배열(Array)모든 요소가 순차적으로 배열된 선형 데이터 구조연속된 메모리 위치에 저장된 동일한 데이터 유형의 요소의 컬렉션배열의 각 항목은 0부터 시작하여 인덱싱, 인덱스 값을 사용하여 배열 요소에 직접 액세스 가능 시간복잡도인덱스를 알고 있다면, 인덱스에 접근하는 시간복잡도는 O(1)이다.데이터를 배열에 삽입을 하려면 기존에 있는 데이터를 한 칸 shift 한 후 데이터를 넣어야 하기에 시간복잡도는 O(n)이 걸린다.마찬가지로 배열에서 데이터를 삭제하는 작업 또한 삭제한 뒤, 나머지 데이터들을 한 칸 shift 해줘야 해서 삽입과 마찬가지로 시간복잡도가 O(n)이 걸리게 된다. 장점구현이 쉽다검색 기능이 좋다인덱스(index)를 이용한 무작위 접근(random access)이 가능하므로 검색에서 빠..
https://www.acmicpc.net/problem/1022문제크기가 무한인 정사각형 모눈종이가 있다. 모눈종이의 각 정사각형은 행과 열의 쌍으로 표현할 수 있다.이 모눈종이 전체를 양의 정수의 소용돌이 모양으로 채울 것이다. 일단 숫자 1을 0행 0열에 쓴다. 그리고 나서 0행 1열에 숫자 2를 쓴다. 거기서 부터 소용돌이는 반시계 방향으로 시작된다. 다음 숫자는 다음과 같이 채우면 된다. -3 -2 -1 0 1 2 3 ---------------------3 |37 36 35 34 33 32 31-2 |38 17 16 15 14 13 30-1 |39 18 5 4 3 12 29 0 |40 19 6 1 2 11 28 1 |41 20 7 8 9 10 27 2 |42 ..