title: Tree backends documentation_of: //src/atcoder/extra/structure/tree_backends.nim
Tree backends
Nim-ACL には、順序集合・列操作・遅延伝播などのための低レベル木 backend がいくつかあります。
通常の順序付き set / map が欲しい場合は、まず sorted_set_map を使ってください。
import atcoder/extra/structure/sorted_set_map
通常利用向け
sorted_set_map
import atcoder/extra/structure/sorted_set_map
推奨される順序付き set / map interface です。
提供される主な型です。
SortedSet(K)
SortedMultiSet(K)
SortedMap(K, V)
SortedMultiMap(K, V)
互換 alias
set_map
import atcoder/extra/structure/set_map
set_map は sorted_set_map の互換 alias です。
新規コードでは sorted_set_map を推奨します。
低レベル backend
次の module は内部または高度な用途向けの木 backend です。
import atcoder/extra/structure/red_black_tree
import atcoder/extra/structure/randomized_binary_search_tree_with_parent
import atcoder/extra/structure/splay_tree
RedBlackTree
sorted_set_map の標準 backend です。
低レベル node 操作が露出しているため、通常は直接使う必要はありません。
RandomizedBinarySearchTree
列操作・split/merge を直接扱いたい場合の backend です。
SplayTree
列操作・反転・遅延伝播などを扱える backend です。
注意
複数の低レベル backend module を同時に import すると、同じ名前の関数が衝突することがあります。
必要な backend だけを import してください。
この tree_backends module 自体は documentation-only module で、低レベル backend を re-export しません。