Deapsへの要素の挿入
deapデータ構造に要素を挿入するには、以下に示すように最小値と最大値を計算する手順が必要になる場合があります-
プロシージャmin_value(m)://deapの最小値を計算します。 m-2 log を返します 2 ( (m-1) ;
プロシージャmax_value(m)://deapの最大値を計算します。 m + 2 log を返します 2 (m-1) ;
deapデータ構造への挿入操作は、次の方法で実行できます-
- ヒープb[]については、mが最大ヒープ内の位置であるかどうかを確認する必要があります。
- 次に、最小値と最大値をdeapで計算します。
- これで、左側のサブツリーと右側のサブツリーのキー値が比較されます。
- 最後に、次のアルゴリズムを使用して挿入操作を実行します。
Procedure deap_insertion(b[], y, m): if (m==1) b[2]=y; else{ if(m is in maximum subtree){ index=min_value(m); if(y<b[index]){ b[m]=b[index]; insert y in minimum subtree; } else insert y in maximum subtree; } else { index=max_value(m); if(x>b[index]){ b[m]=b[index]; insert y into maximum subtree; } else insert y into minimum subtree; }
-
データ構造の深化
Deapは、ルートノードに要素またはキー値を持たないデータ構造として定義されます。これは、次のルールを実装することによって形成されます- ルートノードが空であることを示す要素がルートノードにありません。 deapの左側のサブツリーは、最小ヒープを示します。 deapの右側のサブツリーは、最大ヒープを示します。 したがって、次のステートメントの正しさは、深層構造によって数学的に提供できます- 特定のノードの左側のサブツリーと右側のサブツリーが空ではなく、対応するノードをそれぞれ「a」と「b」で表すことができる場合、- a.KeyValue <=b.KeyValue
-
ソートされたリストに要素を挿入するPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、ソートされた順序を変更せずにリストに要素を挿入する必要があります 以下で説明するように、2つのアプローチがあります- アプローチ1:強引な方法 例 def insert(list_, n): # search for i in range(len(list_)): if list_[i] > n: index = i