분류 전체보기(145)
-
[자료구조] 원형 큐(Circular Queue) 개념 및 코드
이번 포스팅에선 큐의 변형인 원형 큐(Circular Queue)에 대해 알아보겠습니다. 큐에 대한 사전 지식이 없다면 이해가 어려울 수 있으니, 미리 개념을 습득하고 오시길 바랍니다. [큐(Queue) 개념 이해하기] https://mengu.tistory.com/30?category=931463 [자료구조] 큐(Queue) 개념 및 코드 구현 이번 포스팅에선 큐(Queue)의 개념과 코드 구현을 할 것이다. 만약 스택(Stack) 개념을 알지 못한다면 이전 포스팅을 보고 오자. [이전 포스팅 URL: https://mengu.tistory.com/29] [자료구조] 스택(Stack) 개념.. mengu.tistory.com 목차 📃 원형 큐(Circular Queue) 정의 및 원리 📃 원형 큐 구현..
2022.07.14 -
[자료구조] 덱(Deque) 개념 및 코드
오늘은 자료구조 중 하나인 덱(Deque)에 대해 알아보겠습니다. 덱은 스택, 큐와 아주 유사한 자료구조이며, 스택/큐의 단점을 보완하고 장점을 가져왔기 때문에 유용하게 쓰입니다. 목차 📃 덱(Deque) 개념 📃 덱(Deque) 코드 📃 덱(Deque) 예제 덱(Deque) 개념 📌 정의 덱은 스택/큐와 같은 일차원의 선형 자료구조입니다. 스택과 큐 연산을 모두 지원하기에, 양 끝에서 삽입과 삭제가 가능한 자료구조입니다. 내부가 double-linked list(양방향 연결 리스트)로 구현되어 있습니다. 📌 시간 복잡도 O(1) 양방향 연결 리스트로 구현되어 있어, 양 끝 요소의 추가/삭제가 O(1)를 만족합니다. 그에 반해 List는 고정된 사이즈의 메모리를 갖는 배열로, 첫 번째 요소를 삭제하면 모..
2022.07.12 -
[CS 지식] Serialization의 개념과 예제
Serialization에 대해 들어보셨나요? 얼핏 들어만 본 막연한 단어였을 것입니다. 이번 포스팅에서 Serialization의 개념과 예제를 살펴보겠습니다. 목차 📃 Serialization 개념 📃 Serialization 예제 (python-pickle) 📃 Serialization 종류과 각 장단점 Serialization 개념 📌 정의 Serializaiton을 직역하면 '직렬화'입니다. 개발자가 생성한 객체(object)를 byte 타입으로 변환하는 기술입니다. 📌 왜 byte 타입으로 변환하는가? 한 프로그램 내에서 객체를 사용한다면 굳이 byte 타입으로 변환할 이유가 없습니다. 하지만 소프트웨어는 여러 프로그램과 외부 통신들이 서로 상호작용하며 작동합니다. 상호작용을 위해선 객체를 저..
2022.07.11 -
[BOJ] #11286번: 절댓값 힙
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력 첫째 줄에 연산의 개수 N(1≤N≤100,000)..
2022.07.10 -
[BOJ] #1927번: 최소 힙
https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 널리 잘 알려진 자료구조 중 최소 힙이 있다. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오. 배열에 자연수 x를 넣는다. 배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보..
2022.07.09 -
[BOJ] #11279번: 최대 힙
https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 문제 널리 잘 알려진 자료구조 중 최대 힙이 있다. 최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오. 배열에 자연수 x를 넣는다. 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를..
2022.07.08