Fenwick Tree
← 기록 / Tree

Fenwick Tree

Fenwick Tree 관련 기록.

이 글의 목차
  1. Fenwick Tree
  2. Time Complexity

Fenwick Tree

template <typename T>
struct Fenwick { // 1-indexed
    T *data;
    int FMAX;
    void init(int N) { // Range: [1, N]
        FMAX = N;
        data = new T[FMAX + 2];
        memset(data, 0, sizeof(T) * (FMAX + 2));
    }
    void update(int idx, T v) {
        for(; idx <= FMAX; idx += idx & -idx) data[idx] += v;
    }
    T get(int idx) {
        T res = 0;
        for(; idx > 0; idx = idx & (idx - 1)) res += data[idx];
        return res;
    }
};

Time Complexity

  • Init: O(N)O(N)
  • Update: O(log⁡N)O(\log N)
  • Get: O(log⁡N)O(\log N)
AI로 읽기 · Markdown

로그인 없이 읽는 Markdown 원문.

Markdown 열기 ↗
curl -fsSL 'https://www.readiz.com/notes/data-structure/tree/fenwick/index.md'

서비스 열기

열기 방식을 선택해 주세요.

로그인이 필요하거나 창 안에서 열리지 않는 서비스는 현재 탭에서 열어 주세요.