CS/자료구조

CS/자료구조

[자료구조] 스택, 큐, 덱(Stack, Queue, Dequeue)

스택, 큐, 덱이란? 데이터 값을 저장하는 기본적인 구조로 일차원의 선형(linear) 자료구조이다. (배열/리스트와 유사하게) 값을 저장(insert 또는 set)하는 연산과 저장된 값을 꺼내는(remove 또는 get) 연산이 제공된다. 그러나 매우 제한적인 규칙(LIFO, FIFO)등을 따른다. 스택(Stack): LIFO - 후입선출 스택은 가장 최근에 저장된 값 다음에 저장되며, 가장 최근에 저장된 값이 먼저 나간다. - LIFO(Last In First Out) 원칙 파이썬은 스택 자료형을 별도로 제공하지는 않지만, 리스트가 사실상 스택의 모든 연산을 지원한다. class Stack: def __init__(self): self.items = []# 데이터 저장을 위한 리스트 준비 def pu..

CS/자료구조

[자료구조] 배열, 리스트(Array, List)

배열이란? 데이터를 연속적인 메모리 공간에 저장하고, 저장된 곳의 주소(address, reference)를 통해 매우 빠른 시간에 접근할 수 있는 가장 많이 쓰이는 기본적인 자료구조 C언어의 배열(Array) 크기가 고정되어 있으며, 한 번 생성한 배열은 크기를 변경하는 것이 불가능하다. 배열의 시작 주소, 저장된 값의 종류(바이트 개수), 몇 번째에 저장되어 있는지를 나타내는 인덱스(index) 세 가지 정보만으로 값이 저장된 곳의 주소를 계산할 수 있다. 읽기와 쓰기 연산에 O(1) 시간 소요 Python의 리스트(List) C의 배열의 셀에는 실제 값(데이터)이 저장된 형식이지만, Python 리스트의 셀에는 데이터가 아닌 데이터가 저장된 곳의 주소(address 또는 reference)가 저장된..

코택
'CS/자료구조' 카테고리의 글 목록