Struct comlib_range::Bit[][src]

pub struct Bit<T>(_);
Expand description

Binary indexed tree.

Binary indexed tree, also known as Fenwick tree, is a data structure that allows effectively updating a single value and querying the sum of values over a range.

Note that unlike most binary indexed tree implementations, this implementation uses 0-indexing instead of 1-indexing.

Time complexity

All operations on binary indexed tree take O(log n) time, unless otherwise stated.

Implementations

Computes the sum of values on the given range.

Increases the value at the given index by the given value.

Decreases the value at the given index by the given value.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Debug on Bit prints the original values of the array, not the values in the nodes of the tree.

Time complexity

Printing takes O(n log n) time.

Formats the value using the given formatter. Read more

Constructs binary indexed tree from the given Vec.

Time complexity

Construction takes O(n log n) time.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.