NEPLg2 Standard Library - btreemap - btreemap
Web Playground
Web Playground

btreemap

順序付きじゅんじょつき map

目的もくてき

  • BTreeMap<.K, .V>提供ていきょうし、new / insert / get / contains / remove / len / clear / free の bare 名であつかえるようにします。
  • key の比較ひかくOrd trait に委譲いじょうし、i32 固定から脱却だっきゃくします。

実装じっそう

  • 名前なまえBTreeMap ですが、現実げんじつ内部表現ないぶひょうげん整列済せいれつずみ key/value 配列はいれつです。
  • 検索けんさくは lower_bound、挿入そうにゅう / 削除さくじょは shift で実装じっそうします。

注意ちゅうい

  • 本物ほんものの B-tree ではありません。
  • Ord impl が全順序ぜんじゅんじょたすことを前提ぜんていにします。

計算量けいさんりょう

  • get / contains は O(log n)、insert / remove は O(n) です。

BTreeMap

順序付きじゅんじょつき key/value 配列はいれつ本体ほんたい

new

からBTreeMap<.K, .V>つく

len

要素数ようそすうかえ

contains

key の存在そんざいたしかめる

get

key に対応たいおうする value をかえ

insert

key/value を挿入そうにゅうまたは更新こうしんする

remove

key を削除さくじょする

clear

全要素ぜんようそ削除さくじょする

free

内部ないぶメモリを解放かいほうする