-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
해결됨
doubly linked list 질문입니다.
24.03.20 09:01 작성 조회수 70
1
안녕하세요.
수업을 듣다 질문 사항이 생겨서 이렇게 문의 남깁니다.
doubly linked list로 구성된
'''
from collections import deque
# deque 선언
q = deque()
'''
에서 'enqueue ' , 'dequeue '의 시간 복잡도가 O(1)인데, 중간에 데이터가 삽입되고 삭제 되는 경우도 시간 복잡도가 O(1)인가요?
답변을 작성해보세요.
0
개발남노씨
지식공유자2024.03.21
안녕하세요 Cotton님.
doubly linked list 개념상 중간에 데이터 삽입하고 삭제하는 연산의 시간복잡도는 O(1)이여야 합니다.
하지만, 삭제하고 삽입하려면 해당 인덱스 위치를 특정해야되는데, 이 때 시간복잡도가 O(n)이 걸립니다.
그래서 결국 deque에서 중간 원소를 삽입하고 삭제하는데에 최종적으로 시간복잡도가 O(n)이 걸린다고 보시면 됩니다.
더 궁금한점이 있으면 편하게 질문 주세요~!
답변 1