반응형
[자료구조] 스택(stack)
자료구조 | 알고리즘/선형 자료구죠2024. 3. 28. 11:07[자료구조] 스택(stack)

이번 포스팅에서는 스택의 정의와 성질, 구현 방법, 활용에 대해서 정리합니다. 스택은 큐, 데큐와 서로 비슷한 부분이 많기 때문에 함께 공부하는 것을 적극 추천합니다.또한 스택은 비교적 여러 알고리즘에서 활용합니다. 따라서 어렵더라도 제대로 이해하고 넘어가야 합니다. 1. 스택의 의미와 특징스택이란?마지막으로 들어온 원소가 제일 먼저 나가는 자료구조더 이해하기 쉽게 풀어보면 한쪽 입구만 뚫린 터널이라고 생각할 수 있다. 이 구조는 데이터들이 한쪽으로만 들어갔다가 나오며 무언가 쌓는 모양을 생각할 수 있다. 이러한 형태 때문에 "쌓다"라는 의미에서 스택(stack)으로 불린다. 스택의 특징LIFO(Last In First Out)의 구조를 가진다.원소의 추가/제거/확인이 모두 O(1)이다.최상단의 원소에만..

[자료구조] 큐(queue)
자료구조 | 알고리즘/선형 자료구죠2024. 3. 28. 00:16[자료구조] 큐(queue)

이번 포스팅에서는 선형 자료구조인 큐에 대해서 알아보겠습니다. 큐는 스택, 데큐와 비슷한 점이 아주 많기 때문에 이들과 같이 비교하면서 보는게 좋습니다. 1. 큐 FIFO의 규칙을 가지는 자료구조입니다. 선입선출이라고도 합니다. 마치 놀이공원 대기줄을 연상시키죠. 2. 구현 배열을 이용해 구현할 수 있지만 head와 tail이 계속해서 밀리는 문제때문에 연결리스트를 이용한 원형 큐로 구현하는 것이 효율적입니다. 하지만 C++의 STL에는 이미 선형 큐가 구현되어 있습니다. STL의 queue를 쓰는 것을 적극 추천합니다. 다음은 큐 구현을 연습하기에 좋은 기본적인 문제들입니다. [백준 10845] 큐 [백준 18258] 큐2 [백준 2164] 카드2 3. 활용 큐는 주로 한 방향으로 처리되는 데이터들을 ..

[자료구조] 덱(Deque, Double Ended Queue)
자료구조 | 알고리즘/선형 자료구죠2023. 12. 19. 17:43[자료구조] 덱(Deque, Double Ended Queue)

[목차] Deque이란? Deque 기능 주요 기능 소개 구현해보기 주요 기능들의 성능 분석 예제 코드 Deque의 특징 예제 문제 1. Deque이란? 선형 자료구조에는 Stack, Queue, Deque, Linked List가 있다. Duque는 선형 자료구조의 한 종류이다. Double Ended Queue의 줄임말로 양쪽에서 삽입과 삭제가 가능한 Queue를 말한다. 주로 배열을 뒤집어서 원소를 추가/삭제하는 경우에 Deque를 쓰면 효율적으로 구현할 수 있다. C++과 java 모두 Deque을 지원한다. 따라서 그냥 가져다 쓰면 된다. 여기서는 C++에서 Deque의 주요 기능들을 간단히 소개하고 구현해본다. 예제는 [백준 5430번]을 이용한다. 2. Deque의 기능 1) 주요 기능 문제..

자료구조 | 알고리즘/선형 자료구죠2023. 12. 6. 17:46우선순위 큐

https://suyeon96.tistory.com/31 [자료구조] 우선순위 큐와 힙 (Priority Queue & Heap) 1. 우선순위 큐 1.1 우선순위 큐란? 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다. 우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위 suyeon96.tistory.com

자료구조 | 알고리즘/선형 자료구죠2023. 12. 5. 13:46[자료구조] 그래프이론

이번 포스팅에서는 자료구조, 알고리즘에 대해 알아보고 둘의 관계를 살펴보겠습니다. 1. 자료구조란? 데이터에 효율적으로 접근, 변경하기 위해 설계해놓은 데이터 저장 방법입니다. 2. 알고리즘이란? 알고리즘이란 문제 해결을 위한 명령어들의 집합입니다. 간단히 말하면 문제의 풀이과정들입니다. 알고리즘은 자료구조와 매우 밀접한 관계가있습니다. 문제 해결을 위해서는 데이터들을 원하는 형태로 저장해야 하기 때문에 이 과정에서 어떤 자료구조를 사용하는냐에 따라 속도가 천차만별이다. 잘선택 일반적으로 데이터는 그래프로 나타낼 수 있습니다. 이 그래프는 노드와 간선들로 연결되어 있는데요, 노드와 간선들의 종류에 따라 [가중치를 연결한 그래프] #include #include #define F first #define ..

자료구조 | 알고리즘/선형 자료구죠2023. 10. 31. 12:52[자료구조] stack을 활용한 괄호쌍 짝짓기

1. 괄호쌍의 유효성 괄호쌍의 유효성이란 열린괄호' ( '와 닫힌 괄호' ) '가 서로 순서와 짝이 맞게 이루어져있는지 판단해주는 방법이다. 일반적으로 괄호쌍을 다룰 때에 소괄호' ( '가 주로 판단대상이지만 중괄호' { '나 대괄호' [ '로 확장하여 판단하기도 한다. 괄호쌍이 유효한 경우 ( ) ( ( ) ) ( [ ] ) 괄호쌍이 유효하지 않은 경우 ) ( { ( } ) { } ) 2. stack을 이용한 괄호쌍 유효성 검사하기 알고리즘 그러면 어떻게 이를 판단할 수 있을까? 위에서 괄호쌍이 유요하지 않은 경우는 괄호의 짝이나 순서 또는 개수가 맞지 않는다는 것을 확인할 수 있다. 데이터가 입력되었을 때 현재까지 입력된 상태를 유지하고 제일 마지막에 입력된 값과 비교해야 함을 느낄 수 있다. 따라서..

728x90
반응형
image