データ構造 - 入門演習

  • データ項目がデータの最小単位であり、データ要素は、データの基本単位であります
  • 規定時間内に完了することはできません新しい基本的な特別のアルゴリズム
  • コンピュータのデータは、一般的要素と要素間の関係があることを意味し、内部関係のいくつかの種類を持っていた処理します
  • このアルゴリズムは正確性、可読性、堅牢性、効率性とストレージ容量の要件があります
  • これは、の論理構造データを指すのデータ要素間の論理関係 全体
  • 時間の複雑さと、問題の規模に関係
  • アルゴリズムの時間計算量はO(Nである2)、アルゴリズムは、サイズに問題を示しN- 2は比例であります
  • データ記憶構造では、ノードは、典型的には、格納データエレメントを
  • チェインデータ格納構造を使用する場合、それが必要と各ノードは連続したメモリ領域を占めます

 

  • これは、データ要素間の論理構造データを参照論理全体
  • コレクション、線形構造、木構造やメッシュ構造:データ構造は、一般に、4つの基本的なカテゴリ構造に分け
  • 順次格納した画像や非順次記憶印象、二つの異なるストレージ構造与える:リニアメモリ構造をとストレージ構造
  • 線形構造、最初のノードなしの先行ノード、および残りの各ノードが有するのみ
  • 先行ノード、終端ノードない後続ノードは、各ノードの残りの後続ノードを有することができ、複数の
  • 構造のような図では、ノードおよび後続の各ノードのノード数の前駆体が有していてもよく、複数の
  • 有限の、確実、実現可能性、入力および出力:アルゴリズムは、5つの特徴を有します
  • 各命令のアルゴリズム、正確な意味を持っている必要があり、あいまいさを持つことができない、のアルゴリズム性能特性の不確実性
  • コンピュータのメモリ内のデータを表して、物理アドレスに対応する二つの論理的に隣接するデータ要素は、このストレージ構成は、連続と呼ばれているシーケンシャルストレージ構造
  • 汎用アルゴリズム解析は、アルゴリズム解析の二つの主な態様は、空間複雑さと時間の複雑さ、データ構造の合理性を同定することです
  • データオブジェクトは、データオブジェクトが同じ特性を有するデータ要素の集合である(×)任意のデータ要素の集合であります
  • データ・オブジェクトを構成するデータ要素の同じ種類によって制限されている(√)
  • 方法(×)に関する店舗情報をコンピュータ内の各データ要素の論理構造データ
  • 論理データ構造は、(×)は、ストレージの種類を使用する必要があり、同じではありません
  • これは、各データ項目のデータとの論理的関係の論理構造データを指す(√)
  • 長所とアルゴリズムのアルゴリズム記述言語独立したが、関連するコンピュータ(×)と
  • アルゴリズムプログラムの必要があります(×)
  • 最終的にはコンピュータアルゴリズムによって実施されなければならない(×)
  • 堅牢なアルゴリズムは、(√)不正な入力データの出現以来、不可解ない状態を行います

次のアルゴリズムの時間計算量の解析

ボイド FUNC(int型N){
     int型 I、K = 110 一方、(I <= N){ 
        K ++ 
        I + = 2 ; 
    }   
}

O(N)

ボイド楽しい(int型N){
     int型私は= 1 ;
    ながら(I <= N){ 
        私は私が* = 3 
    } 
}

O(LOG3(N))

の楽しみ(int型のn){
     int型I、J、K。
    以下のために(iは= 1 ; iが<= N; I ++ ){
         ため(J = 1 ; J <= nであり、j ++ ){ 
            K = 1 一方、(K <= N){ 
                K = 5 * K。
            } 
        } 
    } 
}

O(N 2 log5(N))

ボイド FUNC(int型N){
     int型 I、J、K = 0 以下のために(iは= 1 ; iは<N; iは++ ){
         ため(j = iは+ 1、J <= nであり、j ++ ){ 
             kは ++ 
        } 
    } 
}

O(N 2

ボイド楽しい(int型N){
     int型、S = 0 、I、J、K。
    以下のために(私は= 0 ; iが<= N; I ++ ){
         ため(J = 0 ; J <= I; J ++ ){
             ため(k = 0 ; K <J、K ++ ){ 
                S ++ 
            } 
        } 
    }       
}

O(N 3

ボイド FUNC(int型N){
     int型 I = 0、S = 0 一方、(S <= N){ 
        I ++ 
        S = S + 1 
    } 
}

O(N)

ましょnは偶数であり、mの値は、次のブロックの後に実行される計算、このブロックは、時間複雑性を与えられます

INT、M = 0 、I、J。
以下のために(iは= 1 ; iが<= N; I ++ ){
     ため(J = 2 * I; J <= nであり、j ++ ){ 
         Mを ++ 
    } 
}

O(N 2

INTの事実(INT []、INT nは、INT X){
     intは iが= 0 ;
    一方、(I < N){
         場合([I] == X){
             戻りIと、
        } 
        I ++ ; 
    } 
    リターン - 1 
}

O(N)

ハノイアルゴリズムは、問題の設計:3列、B、Cがあり、N個の異なるディスク半径中央穴が存在し、カラムA、上から下に増加する半径のn個のディスクを

すべてのターゲット・ディスクは、ディスクCを移動させる必要があり、bがカラムによって補助カラムとして使用することができる、次の規則に従わなければならない場合、可動ディスク。

  • 時間は、ディスクを移動することができます
  • 任意の大きなディスクは小さなディスク上の列に許可されていません

分析アルゴリズムの時間計算

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/YC-L/p/12168272.html