반응형

2024/06/11 2

Queue・FIFO(First In First Out)

Queue 설명 먼저 들어온 데이터가 먼저 나가는 구조이다.선입선출(FIFO:First In First Out) 구조라고 한다. Stack은 한 쪽이 막혀있어 입구와 출구가 하나라면,Queue는 입구와 출구가 따로있다. Queue는 연결 리스트(linked list)로 구현이 되는데 python에서 queue 구현을 위해 deque() 함수를 제공한다.Import하여 쉽게 사용하면 된다.  List 자료구조가 있는데 왜 굳이 queue를 사용할까 ? Linked list는 제일 앞의 요소를 꺼낼 때 head 노드를 두 번째 노드로 바꾸고 head 노드였던 자료는 queue에서 빠져나온다. 이는 빅오 표기법에 따라 O(1)이라는 매우 빠른 연산이 가능하다. 하지만 array list는 순서대로 배열되어 있..

Stack ・LIFO(Last In First Out)

Stack 설명 Stack은 먼저 들어온 데이터는 제일 늦게 나가게 되고, 맨 마지막에 들어온 자료가 제일 먼저 나가는 자료구조이다.후입선출(LIFO: Last In First Out) 구조라고 한다. Stack은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있도록 제한된 선형으로 나열된 자료구조이다.  Python에서 stack의 자료구조는 배열 순서에 따른 배열 리스트(array list)와논리 순서에 따른 연결 리스트(linked list) 두 가지로 활용되는데,알고리즘 코딩테스트에서는 주로 배열 리스트(array list) 형식인 list 자료구조로 stack을 사용한다.  Stack 기본 연산Stack의 입출력은 .append() 리스트 제일 뒤에 데이터 입력과.pop() 리스트 제일 뒤에 데이터 출력..

728x90
반응형