私は自分の鍵となると思う一意のIDを持つ各文字列を10k文字列のデータベースに格納するためのB-Treeを研究しています。しかし、私が見たすべての実装は、値ではなくBツリーのキーだけを表示します。私はB-Treeがマップとして機能するときに値をキーにリンクしなければならないと確信していますが、ツリーのノード内にキーとともに格納されているかどうかはわかりません。例えば。Bツリーキーの値はどこに保存されていますか?
||key3| |key6||
/ | \
/ ||key4| |key5|| \
/ \
||key1| |key2|| ||key7| |key8||
||k3,v3| |k6,v6||
/ | \
/ ||k4,v4||k5,v5|| \
/ \
||k1,v1| |k2,v2|| ||k7,v7| |k8,v8||
私がどこでどのように値が格納されていることを確認していません。
だから、もし10Kの文字列を保存したいのであれば、各セットはおよそ10の単語を持ち、単語の1つは一意のIDです、2番目の表現はB-Treeを構築するのに正しいですか?はいソートされた実装を楽しみにしています。ノード内でSortedHashMapを使用してキーを格納することはできますか?メインメモリではなく、ファイルのような外部メモリに格納された情報のためにB-Treeを構築することを理解するための視覚化を指摘できますか? – djay
IMO、2番目の表現は正しいです。SortedHashMapについて聞いたことがありません、どの言語について話していますか?私が知る限り、ハッシュマップをソートすることは不可能です。視覚化のため、https://www.cs.usfca.edu/~galles/visualization/BTree.html。私たちはそれを使って教えられました。 –
by SortedHashMap、私は疑問を指摘しています。私はBツリーノードをソートされた順序で格納することはできますか?昇順であるが、キーは、長さが20以上の長い整数であるため、ハッシングを行う必要があります。もう一つはTreeMapを見ていました。私はハッシュを除いて前に言った。 – djay