時間の複雑さと空間の複雑さと安定性

ディレクトリ

1.さまざまなアルゴリズムの比較

2.アルゴリズムの不安定性の定義

3.いくつかの不安定なアルゴリズム

1.さまざまなアルゴリズムの比較

2.アルゴリズムの不安定性の定義

  定義:並べ替え前は2つの数値が等しいが、並べ替えが終了すると、2つが順序を変更する場合がある。

  説明:並べ替えるキューでは、AとBが等しく、AがBの前にあり、並べ替え後、AがBの後ろにあります。現時点では、このアルゴリズムは不安定であると言います。

3.いくつかの不安定なアルゴリズム

  1)高速列が不安定な理由

    3 2 2 4最初のクイックソートの後、結果は次のようになります。2 2 3 4(3番目の2は最初のソートの後に1に移動します)

  2)ヒープのソートが不安定なのはなぜですか  

    スタックのトップ3が最初に出力される場合、3番目のレイヤーの27(最後の27)がスタックのトップまで実行され、スタックは安定します。

    これは、次の27が2番目の位置27の前に出力されることを示しています。

        

  3)選択順序が不安定な理由

    5 8 5 2 9初めて、位置1の5が最小であると想定されますが、実際の最小は位置4の2です

    最初のソート後:2 8 5 5 9は、1位の5が3位の5の後ろにある前

注:

  時間の複雑さ

    forループにはいくつかの層があり、時間の複雑さはnの数倍です。

    各サイクルの半分はnlognです

    ループが半分になるのを見る限り、lognがあります。

  スペースの複雑さ

    新しいメモリ空間を申請する

    n = 1#スペースの複雑度o(1)

    list = [1,2,3,4]#スペースの複雑さo(n)

おすすめ

転載: www.cnblogs.com/xinzaiyuan/p/12697008.html
おすすめ