본문 바로가기

자료구조

(2)
스택, 큐, 덱 스택, 큐, 덱 스택 (stack) 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 데이터를 삽입하는 것을 흔히 Push, 데이터를 빼내는 것을 Pop이라고 하며 위에서 LIFO - Last In First Out라는 말에서 알 수 있듯이 가장 늦게 Push된 값이 Pop할 때 나오게 된다는 것이다. 그림으로 간단하게 살펴보자. ​ [스택] ​ 다음 그림과 같이 넣을 때는 가장 위에 Push가 되고 뺄 때는 가장 위에 있는 것이 Pop된다. 이러한 자료구조를 스택이라고하는데 파이썬으로 이를 살펴보면 다음과 같이 List로 쉽게 구현이 가능하다. stack = [] for i in range(1, 6): stack.append(i) res..
연결리스트 시작하기에 앞서, 연결리스트(Linked List)란, 노드의 집합으로서 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조이다. 여기서 말하는 노드란 무엇일까? ​ 1. 노드 노드란, 다음 노드의 주소를 저장하고 데이터를 저장하는 데이터의 묶음이라고 볼 수 있다. 다음은 단일 연결리스트에서의 노드 모습을 볼 수 있다. [노드] ​ ​ 여기서 볼 수 있듯이 우리가 실제로 필요한 데이터를 Node 안의 Data에 담고 있는 모습을 볼 수 있으며 다음의 데이터를 참조하기 위해 다음 노드의 주소를 저장하는 Next를 담고 있는 모습을 확인할 수 있다. 그렇다면 실제로 연결리스트는 이러한 노드로 어떻게 이루어져 있는지 확인해보자. ​ ​ 2. 연결리스트 [연결리스트] ..