素セット情報構造 (和集合検索アルゴリズムとしても知られる) は、おそらくコンピューター サイエンスの基本概念であり、割り当てとネットワークに関連する問題を解決するための効果的な方法を提供します。これは、コンポーネントのセットに関係する問題を解決し、それらの接続を決定する場合に特に役立ちます。この記事では、言語構造、アルゴリズム、および素のセット情報構造を C で実装するための 2 つのユニークな方法について説明します。これらのメソッドを示す完全に実行可能なコード例も提供します。
###文法###素のデータ構造を利用すると、複数の素のコレクションを扱う場合に非常に役立ちます。個々のグループには、それを特徴付ける特定の代表者が割り当てられます。開始点には、各コンポーネントが独自の孤立したセットを形成することが含まれます。このセットは、それぞれの代表に対応します (それ自体もたまたまそうなります)。素のセットに対して実行される 2 つの主な操作は、結合と検索です。
代表者が異なる場合は、一方の代表者がもう一方の代表者を指すようにして、セットを効果的にマージします。
代表者が同じ場合、セットはマージされているため、それ以上のアクションは必要ありません。
検索操作
親ポインタを代表ノードに到達するまでたどります。
結果としてデリゲートを返します。
方法 1: ランクベースのマージとパス圧縮
2 つのセット間で結合演算を実行する場合、上位のセットが優先され、下位のセットがマージされます。 2 つのセットのランクが類似している場合、どのセットに誰が含まれるかを任意に選択する必要があります。いずれの場合も、新しいセットにマージされると、そのランクは 1 ずつ増加します。さらに、検索操作を高速化し、時間の複雑さを軽減するために、パス圧縮はこれらの操作中にツリー構造を平坦化するのに役立ちます。
Example
の中国語訳は次のとおりです:Example
リーリー ###出力### リーリー
Example
リーリー ###出力### リーリー ###結論は###以上が素セットのデータ構造または共用体検索アルゴリズムの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。