2019-11-04-23:03:13
内容:
1. 一般的なデータ構造
2. スタック
3. キュー
4. アレイ
5. リスト
6. 赤黒木
一般的なデータ構造:
前記スタック、キュー、配列、リンクリスト、および赤黒木
スタック:
スタック:線形動作テーブルにより制限されるスタックとして知られているスタック、、、一端のみで被験体に挿入および削除の操作を可能にする制限など、他の任意の場所を追加検索、削除することはできません
特徴:
1. FILO(すなわち、それは連続要素を除去するために、バックれた後の要素へのメモリ素子に)。例えば、クリップにプレス弾丸、ポップ上記の最初の弾丸を撃ったときに、上記の箇条書きに押した後に行くための圧力下で最初の弾丸は、弾丸を以下の前にポップ。
2.入口スタック、スタックの出口は、先端位置です。
名詞注:
1.プッシュ:要素が格納されます。つまり、スタックに要素先端位置で、スタックは、積層方向の底部に順次既存の要素位置を移動させます
2.ポップ:それは要素を取ることです。つまり、上部スタック素子の位置は、スタックの順番で既に要素は、スタックの方向に一箇所を移動させる、取り出されます。
キュー:
キュー:キュー、それは、直線状でも制限された操作であり、唯一のテーブルの最後の挿入を許可する制限スタックと同じであるチームと呼ばれ、もう一方の端にある表を削除します。
特徴:
1. FIFO(即ち、それは連続的要素を除去するために、取り出した後、フロント要素にメモリ素子に)。例えば、電車はフロント、リアに行く、行くで、トンネルを通って行きました。フロントはまず、出てきたリアの後に出てきました。
2.キュー・エントリは、各出口側を占めています。例えば、図の左側は、入口、右側の出口であります
アレイ:
アレイ:アレイは、要素の順序付けられたシーケンスであり、アレイは、メモリ内の連続したオープンスペースであり、この空間内の記憶素子。B&Bは、放電のようなものです、100室があり、すぐに借りる人を見つけることができる数で001100から各部屋に固定番号を持っています。
特徴:
1.高速な要素を探す:インデックスで、あなたはすぐに要素の場所にアクセスすることができます
要素の2スロー追加:
インデックスは要素を追加指定:指定されたインデックス位置に格納された新たな要素を特定する、新しい配列を作成する必要があり、元の配列要素のインデックスに応じて、インデックスに対応する新しいアレイにコピーされます。下記に示すように、
指定されたインデックスの要素を削除する:新しいアレイを作成する必要性を、元の配列要素は、新しいインデックスの場所に対応する配列にコピー指数によれば、アレイ要素で指定された元のインデックス位置は、新しいアレイにコピーされません。下記に示すように、
リスト:
リスト:私は実行時に動的に生成することができるノードにリンクされたリスト(リスト内の各要素のノードと称する)の直列接続ノード、
ノード:
図1は、データ要素を格納するデータフィールドであります
図2は、ポインタフィールドに格納されている次のノードのアドレスです。
特徴:
アドレスによって接続された複数のノードのうち1。例えば、手の中に複数の人物の手が、彼の右手を使用して、それぞれの人は、左手でも一緒に非常に多くの人々と、その次の人を引っ張って、そして。
2.遅い要素を探す:あなたはノードを接続する必要があり、要素を見つけたい、その後、指定された要素をバック検索]をクリックします
3.すぐに要素を追加または削除
要素の追加のみ:次の要素を接続するためのアドレスを変更する必要があります
要素を削除する:のみ次の要素を接続するためのアドレスを変更する必要があります
赤黒木:
バイナリ:バイナリツリーは、各ノードが2つ以上の順序木ではありません(ツリー)
特徴:
1.二分木の各ノードは、2つのサブツリー複数ツリー構造を有しています。根のトップと呼ばれる、「左サブツリー」と呼ばれる両側「右のサブツリー。」
赤黒木:より興味深いバイナリツリーの一つは赤黒木、それ自体が二分探索木である赤黒木と呼ばれ、ノードがツリーに挿入された、まだ二分探索木です。これは、ツリーのキー値がまだ秩序であることを意味し
赤黒木の制約:
1.ノードは赤または黒であってもよいです
2.ルートは黒
前記リーフノード(特に空のノード)黒であります
4.各ノードの子ノードは、黒赤
任意黒色部にリーフノード点にそれぞれのノードすべてのパスで同じ
赤黒ツリー機能:
非常に高速で、バランスの取れたツリーに到達し、要素を探し、時間の少し倍以上の数の葉