class

NgLib::PrioritySum(T)

Inherits Reference < Object

昇順(降順) $k$ 個の総和を効率良く求めるためのデータ構造です。

値の追加、削除、$k$ の変更ができます。

Constructors

new(tag : Symbol, k : Int, initial : T = T.zero)
Source

Class methods

max(k : Int, initial : T = T.zero)

上位 $k$ 要素の総和を求めるためのデータ構造を構築します。

Source
min(k : Int, initial : T = T.zero)

下位 $k$ 要素の総和を求めるためのデータ構造を構築します。

Source

Instance methods

<<(x : T)

Alias for #add

Source
add(x : T)

要素 $x$ をデータ構造に追加します。

計算量は $O(\log{n})$ です。

Source
delete(x : T)

要素 $x$ をデータ構造から削除します。

計算量は $O(\log{n})$ です。

Source
empty?(*args, **options)
Source
empty?(*args, **options, &)
Source
k=(k : Int)

$k$ の値を変更します。

計算量は $\Delta k \log{\Delta k}$

Source
size(*args, **options)
Source
size(*args, **options, &)
Source