목록Data Structure (2)
욤미의 개발일지

2. Stack / Queue / Deque 스택과 큐는 리스트 자료구조의 특별한 경우이다. 1) Stack (스택) 차곡차곡 쌓아 올린 형태의 자료구조로 입구와 출구가 동일한 형태로 시각화 할 수 있다. 후입선출(LIFO, Last-in First-out) 시간 순서에 따라 자료가 쌓여서 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조 # list 자료형을 사용하여 stack 구현 stack = [] stack.append(5) # 삽입, O(1) stack.append(2) stack.append(3) stack.append(7) stack.pop() # 삭제, O(1) stack.append(1) stack.append(4) stack.pop() print(stack[::-1]) # 최상단 원..
1. Array / Linked List 둘 다 데이터를 저장하는 선형 자료구조인데 그 목적과 장단점이 다르기 때문에 어떤 걸 사용하느냐에 따라 프로그램의 성능이 달라진다. 1) Array (배열) 특징 인덱스-원소값( index,value )의 쌍으로 구성 같은 타입의 데이터를 나열한 선형 자료구조 (sequence container) 데이터의 논리적 순서와 물리적 주소가 일치하며 항목을 연속된 메모리 공간에 순차적으로 저장 배열의 크기는 고정. 선언할 때에 배열의 크기를 정하고, 변경할 수 없다. Complie time에 연속된 메모리 주소를 할당받는다. (Stack 영역에 정적 메모리 할당) 시간 복잡도 배열의 맨 앞에 삽입/삭제하는 경우 : O(n) 배열의 중간에 삽입/삭제하는 경우 : O(n) ..