리스트들을 연결해줌
노드
의 '위치바꾸기'리스트의 길이를 별도로 지정해줄 필요 X
=> 별도의 인덱스를 지정할 필요없이 연결되는 구조
연결리스트
노드
에 저장됨노드
는 연결리스트의 다음 노드에 대해 참조(포인터
) 함.
=
배열
링크드리스트 구조
Node(노드)
: 데이터와 다음 데이터를 가리키는 주소(포인터)로 이루어져 있음Pointer(포인터)
: 각 노드에서 다음 데이터를 가리키는 주소값을 가짐Head
: 링크드리스트의 시작점인 데이터 Tail
: 링크드리스트의 가장 마지막 데이터Next=None
(또는 Null): 다음 데이터가 없을 경우 포인터의 주소값은 None 또는 NullFIFO(선입 선출) 순서로 저장하는 자료구조
ex) 마트 계산대 줄
deque
큐의 Time and Space Complexity(시간, 공간 복잡도)
Enqueue(대기열에 넣기)
Dequeue(대기열에서 빼기)
실제로 값을 빼거나 삭제시키는 시키는 개념 X
enqueue
dequeue
리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제
ex)
a = [1,2,3]
a.pop() # 리스트의 맨 마지막 요소 돌려줌
# => 3
a
# => [1, 2]
# -> 돌려준 맨 마지막 요소 삭제