Obstack とは

Cプログラミング言語では、ObstackはC標準ライブラリのメモリ管理GNU拡張です。 「障害物」は、動的に管理される「オブジェクト」(データ項目)の「スタック」である。領域ベースのメモリ管理方式を実装しています。
Obstackコードは通常、ユーザーのメモリ割り当てと管理を担当するCマクロを提供します。基本的には、いくつかの状況では、malloc / freeよりも効率的で実装が難しいメモリ管理の一種として、obstackが使用されています。例えば、しばらくの間に数が増えて最終的な書式に達するデータ項目を扱うためにスタックを設定する必要があるとします。そのようなスタックはobstack.hで定義することができます。

Multimap とは

コンピュータサイエンスでは、マルチマップ(時にはマルチハッシュまたはマルチディック)は、複数の値が特定のキーに関連付けられて返されるマップまたは連想配列抽象データ型の一般化です。マップとマルチマップの両方がコンテナの特定のケースです(たとえば、C ++標準テンプレートライブラリコンテナを参照)。多くの場合、マルチマップはマップ値としてリストまたはセットを持つマップとして実装されます。

Peek (data type operation) とは

コンピュータサイエンスでは、ピークは特定の抽象データ型、特にスタックやキューなどのシーケンシャルコレクションの操作であり、コレクションから要素を削除せずにコレクションの先頭( "前")の値を返します。したがって、 "pop"や "dequeue"などの操作と同じ値を返しますが、データは変更しません。
「peek」という名前はスタック上の基本的な「push」操作と「pop」操作に似ていますが、この操作の名前はデータの種類と言語によって異なります。 Peekは、データの追加と削除のより基本的な操作と比較して、一般的には不可欠な操作と見なされているため、これらのデータ型の基本定義には含まれていません。しかし、それは便利な操作であり、一般的には簡単に実装されるため、頻繁に実際に使用されますが、いくつかの定義ではpeekは基本的なものとして含まれており、ポップ(またはアナログ)抽象定義を参照してください。

Double-ended priority queue とは

コンピュータサイエンスでは、ダブルエンド優先順位キュー(DEPQ)またはダブルエンドヒープは、優先順位キューまたはヒープと同様のデータ構造ですが、キーの順序によっては最大値と最小値の両方を効率的に削除できます(アイテム)を格納します。 DEPQのすべての要素に優先順位または値があります。 DEPQでは、昇順と降順の両方で要素を削除することができます。

Cardinal Tree とは

基数と類推して、序数木と類推して次数kの基数木(またはトライ)は、各節点が子へのエッジに対してk個の位置を持つ根付樹である。各ノードは最大k個の子を持ち、所与のノードの各子は集合{1,2、…}からの一意の整数によってラベル付けされる。 。 。 、k}である。例えば、2分木は次数2の基数木です。

Monoque とは

モノクエリは、動的配列意味を提供する線形データ構造です。モノクォクは構造がデキューと似ていますが、一方のオペレーションに限定されています。したがって、名前はモノです。 monoqueはO(1)ランダムアクセスとO(1)push_back / pop_backを提供します。 C ++のベクトルとは異なり、push_back / pop_back関数は償却されず、厳密には時間の複雑さではO(1)です。ブロックリストは決して再割当てまたはサイズ変更されないため、厳密にO(1)非償却最悪ケースのパフォーマンスを維持します。 C ++のdequeとは異なり、O(1)のパフォーマンス保証には、ブロックリストを使用する時間の複雑さが含まれますが、C ++標準では、基底値型の操作に関してdequeがO(1)であることのみを保証します。
モノクは、サイズ変数と指数関数的に増加するサイズのブロックの固定サイズのブロックリストで構成されています。したがって、ビット単位のモノクのサイズは、システムポインタサイズの2乗におおよそ比例する。間違いなくO(lg N)のサイズでは、lg(pointer_size)は特定のマシンで一定であるため、ブロックリストはサイズがO(1)でO(lg(N))の上限です。構造体の定数を定数で割る。

Linked data structure とは

コンピュータサイエンスでは、リンクされたデータ構造は、リンクされ、参照(リンクまたはポインタ)によって編成された一連のデータレコード(ノード)で構成されるデータ構造です。データ間のリンクは、コネクタとも呼ばれます。
リンクされたデータ構造では、リンクは通常、逆参照または同等性の比較のみが可能な特殊なデータ型として扱われます。したがって、リンクされたデータ構造は、ポインタに関する算術演算の実行を必要とする配列および他のデータ構造と対比される。この区別は、ノードが実際には単一の配列の要素として実装されていても参照が実際には配列インデックスである場合でも保持されます。これらのインデックスで算術演算が行われない限り、データ構造は基本的にリンクされたものです。
ダイナミックアロケーションを使用し、配列インデックスリンクを使用するという2つの方法でリンクを行うことができます。
リンクされたデータ構造には、リンクされたリスト、検索ツリー、エクスプレッションツリー、および他の多くの広く使用されるデータ構造が含まれます。また、トポロジカルなソートやセット・ユニオン・ファインドなど、多くの効率的なアルゴリズムのキーとなるビルディング・ブロックです。

Kinetic priority queue とは

キネティック優先度キューは、抽象的なキネティックデータ構造である。これは、すべての要素の優先順位が時間の連続関数として変化しているときに、最大(または最小)優先順位要素(キー値ペア)を維持するように設計された優先順位キューの変形です。動力学的優先度待ち行列は、いくつかの動力学的データ構造の構成要素として使用されているだけでなく、k-set問題および連結された赤青色セグメント交差問題などのいくつかの重要な非運動問題を解決する。