We will find a way, we always have.

-interstellar

자료구조 12

[자료구조] 스택

Stack은 '쌓다', '무언가가 쌓여 있는 더미' 등을 의미한다. 스택은 의미 그대로 어떤 데이터를 삽입/삭제하는 과정을 '쌓는' 형태로 나타낼 수 있는 자료구조이다. 스택의 특징은 FILO (First In Last Out) 즉 먼저 저장된 데이터가 가장 나중에 나가는 방식으로 저장된다. 이름에서 힌트를 준것처럼 데이터가 차례대로 쌓인다. 가장 나중에 들어온 데이터는 먼저 나간다 LIFO (Last In First Out). 풜스트인풜스트 아웃 이말은 전에 TV 프로그램을 보다가 소방관 얘기가 나왔을 때 먼저 접했던 것 같다. 자료구조 얘기 하다가 뭔 소방관 얘기냐? 할 수 있겠는데 소방관들이 화재 현장을 들어 갈 때 FILO을 한다고 한다. 즉 먼저 들어가서 구조를 하고 끝까지 현장에 남아서 구조를..

자료구조

파이썬은 다른 언어들과는 달리 다른 자료형을 담을 수 있는 리스트를 갖고 있다. 하지만 이러한 능력때문에 한가지 주의할 점이 있다. # Python a1 = [[0] * 5] * 3 a1[1][1] = 99 # [1][1] 외에 다른 곳의 값도 99로 출력됨 print(a1) a2 = [[0] * 5 for i in range(3)] a2[1][1] = 99 print(a2) # 의도대로 작동 됨 a1을 실행하면 한군대만 99로 변환되는게 아니라 총 3군데가 99로 변환된다. 반면, 리스트 컴프리헨션을 사용한 a2는 의도한 대로 작동한다. 다차원 배열을 만들 때는 반드시 a2와 같은 방식으로 만들어야 하는데, 그 이유는 위에서 소개한 리스트 구조와 관련이 있다. a1과 같이 만들면 메모리 주소값들이 복사..

카테고리 없음 2022.03.29