1. 스택(Stack)
1) 개념
- LIFO 방식 (가장 나중에 들어온 데이터가 가장 먼저 나가는 방식)
- 모든 연산은 최상단에서
2) 연산 및 시간복잡도
- push : 삽입(가장 상단에 원소 추가) // O(1)
- pop : 삭제( 가장 상단에 있는 원소 삭제) // O(1)
- top : 조회(가장 상단에 있는 원소 조회) // O(1)
- len : stack을 구성하고 있는 원소의 개수 출력
- 탐색(검색) : O(N)
- Java에서는 Stack 클래스로 구현되어 있음
3) 관련 문제 및 게시글 링크
자료구조 - 순차적 자료구조 : 스택(Stack)(2022.09.22~10.12)
1. 스택(Stack) LIFO방식(Last In First Out) : 뷔페에서 볼 수 있는 쌓아둔 그릇을 생각하면 이해가 쉽다. 가장 나중에 들어온 데이터가 가장 먼저 나가는 방식이다. 즉 스택의 모든 연산은 스택의 최상단
the-square-of-y.tistory.com
2022.10.13 - [Learning-log/Algorithm 문풀] - 백준 - 9012번. 스택 괄호 짝맞추기(python) (2022.10.3~)
백준 - 9012번. 스택 괄호 짝맞추기(python) (2022.10.3~)
1. 9012번 1) 문제 2) 풀이 S = int(input()) stack = [] for s in range (S): stack.clear() flag = 0 parseq = input() for i in parsesq: if i == "(": stack.append("(") else: try: stack.pop() except: flag=1 break if len(stack)==0 and flag==0: print("YES") e
the-square-of-y.tistory.com
2. 큐(Queue)
1) 개념
- FIFO방식 : 가장 먼저 들어온 데이터가 먼저 나가는 방식
2) 연산 및 시간 복잡도
- enqueue : 큐 맨 뒤에 데이터 추가(삽입) //O(1)
- dequeue : 큐 맨 앞에 있는 데이터 삭제 //O(1)
- Java에서는 Queue 인터페이스로 정의되어 있으며 구현체는 ArrayList와 LinkedList로 활용
3) 관련 게시글
2022.11.24 - [Learning-log/Data Structure & Algorithm] - 자료구조 - 큐(Queue), 데크(Deque)
자료구조 - 큐(Queue), 데크(Deque)
1. 큐(Queue) 1) 개념 - FIFO(First In First Out) 방식 : 은행의 번호표를 생각하면 된다. 먼저 온 데이터가 먼저 나간다. - 삽입(insert) : 스택에서의 삽입을 push라고 부른다면 큐에서는 enqueue라고 부른다. -
the-square-of-y.tistory.com
3. LinkedList
1) 개념
- 순차적 자료구조
- 메모리 상의 데이터 비연속적
- 인덱스 0부터 시작하여 1씩 증가
- 데이터에 따라 크기가 가변적이라 추가적으로 데이터가 삽입되거나 삭제되면 그에 크기가 맞춰짐
2) 연산 및 시간복잡도
- 읽기 //O(N)
- 삽입, 삭제 // O(N)
- 자바에서는 ArrayList 또는 LinkedList로 구현되어 있음
3) 관련게시글
2022.09.24 - [Learning-log/Data Structure & Algorithm] - 자료구조-순차적 자료구조 : 배열, 리스트(2022.09.21)
자료구조-순차적 자료구조 : 배열, 리스트(2022.09.21)
1. 배열 1) 가장 기본적인 순차적 자료구조. 2) 인덱스(index) : 배열의 각 특정 위치에 있는 값을 나타내는 상수로 맨 처음 값의 index는 '0'으로 시작하여 1씩 증가. 3) 특징 - 고정된 크기를 갖는 같은
the-square-of-y.tistory.com
'Learning-log -CS > Data Structure & Algorithm' 카테고리의 다른 글
(자료구조 & 알고리즘 정리) 완전 탐색, 백트래킹 (2023.06.14) (0) | 2023.06.14 |
---|---|
(자료구조 & 알고리즘 정리) 트리(Tree) (2023.06.13) (0) | 2023.06.13 |
(자료구조 & 알고리즘 정리) 재귀, 완전탐색, 순열, 조합, 부분집합 정리(2023.06.04) (0) | 2023.06.05 |
알고리즘 - 이분탐색(Binary Search)과 매개변수 탐색(Parameter Search) (Java, Python) (0) | 2023.04.20 |
알고리즘 - 퀵정렬 (0) | 2023.03.27 |