データ構造(A):配列

I.概要

  • 定義:配列(アレイ)の同じタイプを有するデータのセットを記憶するために連続したメモリ空間のセットと線形テーブルのデータ構造であります

    • リニアテーブルのデータ構造:リニア構造などのデータラインの行を形成します

    • 連続したメモリ空間:メモリが連続しているデータ・ストレージ・メモリ空間

    • 同じであるデータアレイの全てのデータ型:同じ種類の

  • サンプルコード

    • INT []配列は、= 新しい INT [3]。
    • 私たちが見ることができるコードによって、我々は指定された配列の長さの配列を使用する必要があります

    • 配列の配列は、我々はその長さを事前に指定する必要はなく、動的に拡張されています

第二に、図示の構造

  • 図は、シンプルな構造の配列、メモリアドレスアドレスの仮定の便宜のために数字、これよりも複雑な実メモリアドレスです

第三に、アレイの動作の時間複雑

  • お問い合わせ

    • 我々は、直接のでクエリ配列の時間複雑度はO(1)である、配列[インデックス]の方法を介してアレイにアクセスすることができます

  • 挿入

    • 我々が見ることができる図は、配列内の指定位置に挿入された要素は、すべてのデータ位置の位置の後ので、この場合の時間複雑度はO(N)は、後退します。

    • 理想的な状態でアレイの一個の要素の端部に挿入される時間複雑度はO(1)である場合、そのような要素は、移動しません

    • 要約すると、アレイは、時間複雑さに挿入した:O((N-1)/ 2)==> O(N)

  • [削除]

    • 次いで、時間計算量はO(N)であり、前方に移動する位置であるために、その位置の後のすべてのデータを削除した後、指定された配列要素の場所を削除

    • あなたは、配列の末尾要素を削除する場合は、配列要素が移動しない、そして、時間の複雑さに、この時間はO(1)であります

    • 要するに、Oの配列時の複雑さの要素を削除する(N)

第四に、ダイナミックアレイ(ArrayListの)

  • 基本的な概念と使用方法:

    • ArrayListのは、動的に拡張のために、私たちは声明の中でその長さを指定する必要はありませんすることができます

    • ArrayListのは、パッケージ型の基本データ型を格納し、基本的なデータ型を、保存しないで

    • 声明は、時間の種類を指定していない場合、複数の種類のデータを格納することができます

ArrayListのリスト= 新しいArrayListを(); 
list.add( 1 )。
list.add( "元素")。

  • 注意事項:

    • ArrayListの動的拡張、スペースが不十分であり、それは、自動拡張は、我々は、アレイ・サイズの長さを決定するためにあるその場合、コンピュータのリソースを消費するように自動的に拡張されます、優先使用の配列アレイであるので

    • データベースは、パッケージ型のArrayListの種類が格納されるため、そのアクセスので、アレイは、比較的消費性能配列の点で比較した場合の動作を、開梱及び包装のために必要とされます

:ソース記入してくださいhttps://www.cnblogs.com/Infancy/p/12591445.htmlを

おすすめ

転載: www.cnblogs.com/Infancy/p/12591445.html