자료구조 3

[자료구조][Python] 덱 (Deque)

덱 덱(Double Ended QUEue)는 앞서 이야기한 스택(Stack)과 큐(Queue)의 특성을 모두 가지고 있는 자료구조이다. 두 가지의 특성을 모두 가지고 있는 자료구조답게 덱의 앞과 뒤 모두에서 삽입과 삭제가 이루어진다. 또한 덱을 잘 이용하면 효율적으로 시간복잡도를 줄이거나, 정렬 효과를 얻을 수 있으니 잘 알아두도록 하자. 스택(Stack)과 큐(Queue)가 뭔지 잘 모르겠다면, 아래 게시글을 참고하자. https://pink-saurus.tistory.com/entry/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0python-%EC%8A%A4%ED%83%9D-Stack [자료구조][Python] 스택 (Stack) 스택이란? 스택(Stack)은 후입선출(Last I..

[자료구조][Python] 큐 (Queue)

큐 큐(Queue)는 선입선출(First In First Out)의 규칙을 따르는 자료구조이다. 스택과 마찬가지로 리스트 자료구조의 연장형이며, 큐의 앞 부분에서 삭제가, 뒷 부분에서 삽입이 이루어진다. 큐의 import 와 연산 큐를 import 하는 주된 방법은 크게 두 가지가 존재한다. import 한 방식에 따라서 사용 가능한 함수에 약간의 차이가 있으니 주의하자. from queue import Queue from queue import Queue Q = Queue() print(type(Q)) # class - 큐에서의 삽입(put) Q.put(data): 큐에 data를 삽입한다. 이때, 삽입되는 data의 위치는 큐의 뒷 부분이다. - 큐에서의 삭제(get) Q.get(): 큐의 맨 앞 원..

[자료구조][Python] 스택 (Stack)

스택이란? 스택(Stack)은 후입선출(Last In First Out)의 규칙을 따르는 자료구조이다. 리스트 자료구조의 연장형이며, 가장 나중에 들어온 값(top)을 기준으로 삽입과 삭제와 같은 연산이 진행된다. 스택의 연산 스택의 연산은 삽입(append)과 삭제(pop)가 있다. - 스택에서의 삽입(append) S.append(data): 스택에 data를 삽입한다. 이때, 삽입되는 data의 위치는 스택의 가장 마지막 인덱스이다. - 스택에서의 삭제(pop) S.pop(): 스택의 top 인덱스의 원소를 스택에서 삭제한다. 이때, 삭제되는 원소가 리턴된다. 주의사항: top은 단순히 연산이 이루어지는 위치를 의미하며, 실질적인 원소값을 얻기 위해서는 S [-1]을 통해 얻어야 한다.