3
順序付けで他の2つの要素の「間に」要素を挿入できる効率的な順序付けを維持していますか?
次のような要素の束に注文があると想像してください: 矢印は意味します。また、推移的です:。X←YX←YX \leftarrow YX<YX<YX < Y(X<Y)∧(Y<Z)⟹(X<Z)(X<Y)∧(Y<Z)⟹(X<Z)\left(X < Y\right) \wedge \left(Y < Z\right) \implies \left(X < Z\right) ようなクエリに効率的に応答するには、何らかのラベル付けまたはデータ構造が必要です。たとえば、左から右へのノードに番号を付けることができ、従って、単にクエリに答えるために比較整数行うことができます:{}?A \ stackrel {<} D \ 1 <4を意味\ Tを暗示。次のようになります。A<?DA<?DA \stackrel {?}{<} DA<?D⟹1<4⟹TA<?D⟹1<4⟹TA \stackrel {?}{<} D \implies 1 < 4 \implies T 番号は順序であり、文字は単なる名前です。 しかし、次のように、順序付けで他の2つの要素の「間に」要素を挿入する必要がある場合はどうでしょう。 どのようにしてそのような順序を維持できますか?単純な番号付けでは、使用する整数の間に「2,3」がないという問題に遭遇2,32,32,3します。