線形テーブルとその逐次記憶構造の定義

創造し続け、成長を加速させましょう!「ナゲッツデイリー新企画・10月アップデートチャレンジ」に参加して29日目です。クリックしてイベント詳細をご覧ください

リニアテーブル

線形テーブルとは

線形テーブルとは、データ要素が線のように配置されたテーブルです (ナンセンスのように聞こえますが、ははは!!! でも、間違いではないようです)。厳密に言えば、線形リストは、同じ特性を持つデータ要素の有限シーケンスです。

線形テーブルの特徴

  • すべてのデータ要素は同じタイプです
  • 線形テーブルは有限数のデータ要素で構成されます
  • 線形テーブル内のデータ要素は位置に関連しています。つまり、各データ要素には一意のシリアル番号があります。これは、線形テーブルがセットとは異なることを示しています。同じデータ要素が線形テーブルに出現する可能性があります (シリアル番号同じ値を持つデータ要素が表示されます。

線形テーブル論理構造表現

線形テーブルの論理構造は比較的単純で、一般に次のように (a0, a1, a2, a3, a4, a5, a6,..., ai-1, ai,..., an-1) で表されます。図:

09be3c660dfa20fbeb851ee219ee3af.jpg- 注: 線形テーブル内の各要素 ai の一意の位置は、シリアル番号またはインデックス i によって表されます。i は通常 0 から始まり、n 個の要素を含む線形テーブルのシリアル番号 i は 0<=i<= を満たします。 n-1; ここで、n 線形テーブルの長さを表し、n=0 の場合、線形テーブルは空のテーブルであり、データ要素が含まれていないことを意味します。- 図からわかるように、線形テーブル内の各要素には、最大 1 つの先行要素と最大 1 つの後続要素があります。最初の要素には先行要素がありません。末尾要素には後続要素がありません。

線形テーブルの抽象データ型の説明

線形テーブルの抽象データ型の説明: ADT List { //数据对象: D={ai|0<=i<=n-1,n>=0,ai为E类型} //E指的是用户指定类型 //数据关系: r={<ai,ai+1>|ai,ai+1∈D,i=0,···,n-2} //基本运算 E GetElem(int i):求线性表中序号为i的元素。 void SetElem(int i,E e):设置线性表中序号i的元素值为e void swap(int i ,int j):交换线性表中序号为i和序号为j的元素 //········

リニアテーブルのシーケンシャルストレージ構造

シーケンシャル ストレージは、線形テーブルで最も一般的に使用される格納方法であり、線形テーブルの論理構造をストレージ構造に直接マッピングするため、理解と実装が簡単です。

シーケンステーブル

线性表的顺序存储结构是把线性表中的所有元素按照其逻辑顺序依次存储到计算机存储器中。线性表的顺序存储结构成为顺序表。

ba693cdc047db563457eda661b938a4.jpg- 容量: 配列の容量 (格納される要素の最大数) - コード例:

```java public class SqlListClass //シーケンス テーブル generic {final int initcapacity=10; //シーケンス テーブルの初期容量 public E[] data; //シーケンス テーブル内の記憶要素 public int size; //記憶シーケンス テーブル長さ public int Capacity; //シーケンステーブルの格納容量 public SqlListClass() //データと長さの初期化を実装する構築メソッド { data=(E[]) new Object[initcapacity]; //E 型への強制変換配列容量 =initcapacity; サイズ = 0; }

//顺序表基本算法

} ```

おすすめ

転載: blog.csdn.net/y943711797/article/details/132972200