表1リニア(リスト):ゼロ以上のデータ要素の順序付けられた配列、及び
同様のライン~~チームで、限り誰もがその上の選手の前で彼を覚えておくと、
(アレイがメモリに連続しているので、各要素の前面と背面との間に関係があるので、順次記憶構造は、即ち、テーブルの線形アレイです)
リニアテーブルの場合2であり、n = 0の空のテーブル(チームは解散と空のテーブルでも、理にかなってますが、チーム名がまだ存在するだけでなく、人と人の次のコレクションに)
表4.リニア共通の操作:
InitList(* L):初期設定では、空のリストLの線形を作成します
ListEmpty(L):表ブランキング線形
ClearList(* L):表は、リニアを空に
GetElem(L、I、E *):線形リストL I番目の要素を取得し、ポインタEに保存されています
LocateElem(L、E):ルックアップ操作
ListInsert(* L、I、E):挿入〜
LISTLENGTH(L):要素の数を取得します。
順次記憶構造の線状
1.線順次記憶テーブルの構造と実際に、我々は、C言語の配列にさらされているデータ構造で同じ表現同じではなく、
2号容易順次記憶構造を位置決め要素の数は、時間計算量はO(1)であるが、欠失および挿入面倒
、最後の要素を削除し、時間計算量はO(1)、最初の要素を削除し、時間計算量はO(N)、平均はO(N / 2)であります
しかし、時間複雑さの定義に従って、時間複雑性は必要があり、またO(N)
3.思考の要素を挿入
用(K = L->長-1; K> = I; K-)
L->データ[K + 1] = L->データ[K]。
挿入素子AのI番目の要素では、私の要素が後ろに移動します
(シフト後の要素のk個に置き換え、元の位置の数K + 1です)
4.操作を削除します。
(また、ループに使用される)代わりにK + 1と素子のK個の値のみ
リニアアレイの長さとテーブルが同じでない、配列の長さの定義は、線状の要素の実際の数よりも大きいことを5.注
線形形式のストレージ構造
単鎖を含む線状、二重鎖、円形のリンクリスト、等である1ストレージ構造チェーン
リニアテーブルの場合、最も調べるとチェーンのストレージ構造ということで、チェーンのストレージ構造は、最も重要な単一のリストです
2.保存構造最初の要素から求めることができるように、マルチロケーションの各要素は、次の要素の位置を指すポインタを格納します
あなたが通過できるように、第2要素は、第二は......第三に見つけることができます
3.記憶構造は、各要素は、ノード、データ・フィールド、ポインタフィールドを含むノードと呼ばれます。
N連結リストへのノード、すなわち、線形テーブル(A1、A2、A3、... AN)〜鎖ストレージ構造
リンクされたリスト内の各ノードが唯一のポインタ・フィールドを含んでいるので、そう呼ばれる単鎖
リニアフォーム4.、それは頭と尾を持っている必要があり、リストが例外ではありません、
我々は最初のノードの位置がリンクリストの先頭のポインタと呼ばれて保存、最後のノードNULLポインタがNULLです
第1のノードとヘッドポインタとの間の類似点と相違点がある
:ヘッド・ポインタ
(1)ノードのリストは、ヘッドを持っている場合、ヘッドノードのポインタを指している、最初のノードへのポインタがリストの先頭ポインタを指し
一般に、ヘッドポインタリスト名としても知られている(2)識別の目的のためにヘッド・ポインタを有する、(変数名ポインタ)
(3)リストが空であるかどうか、ヘッドポインタがヌルでない
最初のノードを:
(1)最初のノードが、均一で第1のノード要素に、設定する操作が簡単になる前にどのデータ・フィールド一般的な意味のない(リストの長さを格納するために使用されてもよいです)
(2)第一のノードと、前の最初のノードへの挿入素子と第1のノードのノードは、統合上の他のノードの動作に動作を削除します
(3)リストの最初のノードは、必ずしも必須の要素ではない
6.(リストに要素を照会)単独でリンクされたリストを取得します。
アルゴリズムは、アイデア、i番目のデータのリストを取得するには:
- 最初の初期化jから最初のノードでのステートメントリストノードp、
- ポインタPの後方への移動は、次のノードを指すように続けるようにJ <iは、次いで、リンクされたリストをトラバースした場合、J + 1
- リストは、pの最後に空の場合、i番目の要素が存在しない、または成功、バックジャンクションのデータ点pを見つけるために、
注意:
- そのため、アルゴリズムの時間複雑さのi = 1のとき、位置Iに依存して、横断する必要がなく、私はときにN-1 = n回缶トラバースされます。こうしてOの最悪の場合の時間複雑度(N)
- テーブルに定義されていない単一鎖長の構造に起因し、サイクルの回数を知ることができないので、制御ループのために使用すると便利ではありません
- 核となるアイデアは、それはまた、一般的な手法で多くのアルゴリズムで、「仕事の後にポインタが移動する」と呼ばれています。
データ記憶およびポインタの各ノードは、次のノードへのポインタであるため、すなわちノード要素タイプを向いているので、単一のリスト、戻り値はタイプノードであり、