NISHIO Hirokazu[日本語][English]

RBST

Randomized Binary Search Tree

  • ABC170 Eの解説で

    • 順序付き多重集合は C++ の multiset などを用いることで高速に処理することができます。

    • と書かれていたため、C++のmultisetに相当するものはPythonだと何?と話題になった
      • Pythonでmultiset heapqを使ってなんとかするケースが多い
      • Pythonの標準ライブラリには平衡二分木がない
        • 自前ライブラリとして持っておくといいのでは…という気持ちになった
  • ノードをオブジェクトとして作ってるような実装は全般的に筋悪

    • オブジェクトの生成コストが高いので。
    • 配列で実装してnumbaでコンパイルする方針で作る
  • ABC170Eで AC した

--- 開発


(C)NISHIO Hirokazu / Converted from Markdown (ja)
Source: [GitHub] / [Scrapbox]