랜덤 조회 반복
arr[i]가 대부분이면 연속 메모리와 O(1) 접근을 그대로
활용한다.
인덱스 접근의 장점과 중간 삽입/삭제의 이동 비용을 연산 분포로 비교하면 자료구조 선택이 명확해집니다.
arr[i]가 대부분이면 연속 메모리와 O(1) 접근을 그대로
활용한다.
배열을 유지하되 누적합을 더해 각 질의를 O(1)로 낮춘다.
pop(0)가 많으면 매번 전체를 당기므로 덱으로 바꾼다.
갱신+구간 질의면 Fenwick/세그먼트 트리를 본다.
인덱스 접근과 순회가 대부분이면 배열이 가장 단순하고 빠르다.
정렬, 이분 탐색, 누적합과 잘 맞는다.
파이썬 리스트의 pop(0)는 뒤 원소 이동으로 O(N)이
누적된다.
큐는 deque를 우선 검토한다.
삽입 위치 뒤 원소가 계속 밀리면 평균이 아니라 총 이동량이 병목이 된다.
작업 자체를 배치 처리할 수 있는지 본다.
여러 구간에 값을 더한 뒤 한 번에 결과를 보면 차분 배열이 적합하다.
업데이트 후 질의가 섞이면 트리를 쓴다.