본문 바로가기
Learning-log -CS/Data Structure & Algorithm

(자료구조 & 알고리즘 정리) 스택, 큐, LinkedList (2023.06.05)

by why제곱 2023. 6. 5.

 

1. 스택(Stack)


1) 개념

- LIFO 방식 (가장 나중에 들어온 데이터가 가장 먼저 나가는 방식)

- 모든 연산은 최상단에서 

 

2) 연산 및 시간복잡도

- push : 삽입(가장 상단에 원소 추가)  // O(1)

- pop : 삭제( 가장 상단에 있는 원소 삭제) // O(1)

- top : 조회(가장 상단에 있는 원소 조회) // O(1)

- len : stack을 구성하고 있는 원소의 개수 출력

- 탐색(검색) : O(N)

- Java에서는 Stack 클래스로 구현되어 있음

 

 

 

3) 관련 문제 및 게시글 링크

 

2022.10.12 - [Learning-log/Data Structure & Algorithm] - 자료구조 - 순차적 자료구조 : 스택(Stack)(2022.09.22~10.12)

 

자료구조 - 순차적 자료구조 : 스택(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