リンクリストのループをチェックするアルゴリズム

エルフィー

アルゴリズムを見つけたいchecks a linked-list with n elements for consistencyリンクリストはdummy head(センチネルノードとも呼ばれます)を使用します。アルゴリズムは、リストを反復処理するために必要なスペースrun in O(n) timeとはuse O(1) extra space別にする必要があり、許可されています。sizeリストのis unknownさらにそれはforbidden to modify the listです。

前のリストアイテムを指すリストアイテムがある場合、リストは不整合としてカウントされます。最初に最初の要素を格納することを考え、次に現在の要素を最初の要素と比較しながらリストを繰り返し処理します。

エルフィー

これが2番目の質問に対する私の解決策です。

IsConsistent(LinkedList<Item> list) :N
    slow = List.Sentinel.next :Element
    fast = slow.next :Element
    isConsistent = true :boolean
    while(fast != list.Sentinel && fast.next != list.Sentinel && isConsistent) do
        if(slow == fast)
            isConsistent = false
        else 
            slow:= slow.next
            fast:= fast.next.next 
    od
    if(isConsistent)
        return 0
    else
        position = 0 : N
        slow:= list.Sentinel
        while(slow != fast) do
            slow:= slow.next
            fast:= fast.next
            position:= position + 1
        od
        return position

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

A *検索アルゴリズムでは、オープンリストをループするときに何をチェックしますか?

分類Dev

スキルインデックスに基づいて10人のリストから2つのチームを形成するアルゴリズム

分類Dev

チャンク配列内のアイテムのグループインデックスを取得するアルゴリズム

分類Dev

2 つのオブジェクト間の交差をチェックするアルゴリズム

分類Dev

市民番号をチェックするためのアルゴリズム

分類Dev

リストが降順でソートされているかどうかをチェックするための分割統治アルゴリズム

分類Dev

オブジェクトをグループ化するアルゴリズム

分類Dev

オブジェクトをグループ化するアルゴリズム

分類Dev

なぜ私のアルゴリズムはリンクリストの最後の要素をチェックしないのですか?

分類Dev

リーキーバケットアルゴリズムに対するジェネリックセルレートアルゴリズムの利点

分類Dev

このブルートフォースアルゴリズムで文字を段階的にチェックするにはどうすればよいですか?

分類Dev

クイックソートアルゴリズムにカウンターを追加して、スワップアクションの総数を表示する

分類Dev

ストックアルゴリズムをカットするためのScilab

分類Dev

Floydsサイクル検出アルゴリズムを使用せずにリンクリスト内のループを検出する

分類Dev

「チェックポイントイントライアングル」アルゴリズムを実装する際のバグ

分類Dev

リンクリストに関連するアルゴリズムの質問

分類Dev

「ポップリスト」を「インデックスリスト」に変換するための効率的なアルゴリズム

分類Dev

シェルコマンドを見つけるためのルックアップアルゴリズム

分類Dev

タスクを2台のプリンターに分散するためのアルゴリズム?

分類Dev

カウントステップPythonのユークリッドアルゴリズムプログラム

分類Dev

Pythonのk-meansクラスタリングアルゴリズムでカテゴリデータにアプローチする方法

分類Dev

セグメントチェーンを識別するアルゴリズム

分類Dev

DEFLATEのハフマンツリー構築アルゴリズムで整合性チェックを提供する必要がありますか?

分類Dev

Java:遺伝的アルゴリズムのクロスオーバーのために2つのダブルビットストリングを混合する

分類Dev

リンクリスト内の発生をカウントするためのアルゴリズム

分類Dev

AWS CognitoアクセストークンJWTの暗号化アルゴリズムを変更する

分類Dev

Unityで「ランプ」オブジェクトを生成するためのアルゴリズム

分類Dev

ゴールドボックスゲームの戦略とアルゴリズムを設計する方法

分類Dev

マトリックスを参照する/ Leeアルゴリズム

Related 関連記事

  1. 1

    A *検索アルゴリズムでは、オープンリストをループするときに何をチェックしますか?

  2. 2

    スキルインデックスに基づいて10人のリストから2つのチームを形成するアルゴリズム

  3. 3

    チャンク配列内のアイテムのグループインデックスを取得するアルゴリズム

  4. 4

    2 つのオブジェクト間の交差をチェックするアルゴリズム

  5. 5

    市民番号をチェックするためのアルゴリズム

  6. 6

    リストが降順でソートされているかどうかをチェックするための分割統治アルゴリズム

  7. 7

    オブジェクトをグループ化するアルゴリズム

  8. 8

    オブジェクトをグループ化するアルゴリズム

  9. 9

    なぜ私のアルゴリズムはリンクリストの最後の要素をチェックしないのですか?

  10. 10

    リーキーバケットアルゴリズムに対するジェネリックセルレートアルゴリズムの利点

  11. 11

    このブルートフォースアルゴリズムで文字を段階的にチェックするにはどうすればよいですか?

  12. 12

    クイックソートアルゴリズムにカウンターを追加して、スワップアクションの総数を表示する

  13. 13

    ストックアルゴリズムをカットするためのScilab

  14. 14

    Floydsサイクル検出アルゴリズムを使用せずにリンクリスト内のループを検出する

  15. 15

    「チェックポイントイントライアングル」アルゴリズムを実装する際のバグ

  16. 16

    リンクリストに関連するアルゴリズムの質問

  17. 17

    「ポップリスト」を「インデックスリスト」に変換するための効率的なアルゴリズム

  18. 18

    シェルコマンドを見つけるためのルックアップアルゴリズム

  19. 19

    タスクを2台のプリンターに分散するためのアルゴリズム?

  20. 20

    カウントステップPythonのユークリッドアルゴリズムプログラム

  21. 21

    Pythonのk-meansクラスタリングアルゴリズムでカテゴリデータにアプローチする方法

  22. 22

    セグメントチェーンを識別するアルゴリズム

  23. 23

    DEFLATEのハフマンツリー構築アルゴリズムで整合性チェックを提供する必要がありますか?

  24. 24

    Java:遺伝的アルゴリズムのクロスオーバーのために2つのダブルビットストリングを混合する

  25. 25

    リンクリスト内の発生をカウントするためのアルゴリズム

  26. 26

    AWS CognitoアクセストークンJWTの暗号化アルゴリズムを変更する

  27. 27

    Unityで「ランプ」オブジェクトを生成するためのアルゴリズム

  28. 28

    ゴールドボックスゲームの戦略とアルゴリズムを設計する方法

  29. 29

    マトリックスを参照する/ Leeアルゴリズム

ホットタグ

アーカイブ