C# のデータ構造とアルゴリズムにおけるツリーの役割を紹介します

C# のデータ構造とアルゴリズムにおけるツリーの役割を紹介します

C# データ構造とアルゴリズムツリー

まず、Windows でコマンド ラインに「tree」と入力します。現在のフォルダーの下にあるすべてのサブフォルダーとファイルがツリー形式で返されます。



上図の通り、木です。

逆さまのリンゴの木のように、各要素はノードと呼ばれます。図に示すように、A はツリーのボスであり、ルートと呼ばれます。ノードに要素がある場合、このノードはその子ノードに対するルートであり、このツリーは A のサブツリーです。たとえば、ツリー D は A のサブツリーです。

子ノードを持たないノードはリーフノードと呼ばれます。

これらのツリーのルートは、ルートからのすべての有向エッジによって接続されています。たとえば、ツリー E はルート A から有向エッジ T AEによって接続されています。木 J はルート E からの有向辺TEJによって接続されます。

そして、あるノードから別のノードまでのすべてのノードのシーケンスはパスと呼ばれ、パス上のエッジの数はパスの長さになります。パスの長さは、通過するノードの数から 1 を引いた数であることがわかります。たとえば、パス EQ の場合、長さは 2 です。

深さは、ルート ノードとこのノード間のパスの長さです。たとえば、ノード P と Q の深さは 3 で、ノード K の深さは 2 です。

C# データ構造とアルゴリズムツリー表現

C# のデータ構造とアルゴリズムでは、リンク リストを使用してツリーを表すことができます。図に示すように:

図に示すように、A はリンク リストの最初の要素であり、G は最後の要素です。要素に子ノードがある場合、この要素はこのツリーのリンク リストになります。

矢印が示すように、ABCDEFG はリンク リストであり、ノード DEFG は子ノードを持つツリーであるため、DEFG 要素には別のリンク リストが格納されます。たとえば、E には EIJ リンク リストが格納され、J には JPQ リンク リストが格納されます。したがって、ツリーがどれだけ大きくて深くても、リンク リストで表すことができますが、このリンク リストには他のリンク リストが含まれます。

<<:  C# 遺伝的アルゴリズム学習ノート

>>:  C# データ暗号化を実現する対称暗号化アルゴリズム

ブログ    

推薦する

...

Google の自動運転車は「先​​天的な欠陥」があるが、その商品化は「中止」の運命を免れるだろうか?

[[248486]]グーグルの自動運転車開発会社ウェイモはすでに試験的な移動サービスの一部を有料化...

...

...

1000ステップ未満の微調整で、LLaMAコンテキストは32Kに拡張されました。これは、Tian Yuandongチームの最新の研究です。

誰もが独自の大規模モデルをアップグレードして反復し続けるにつれて、コンテキスト ウィンドウを処理する...

...

フロントエンドアルゴリズムシステム演習:リンクリストの章が完了

[[357916]]実践する前に、データ構造やアルゴリズム、あるいはこのシリーズについての誤解を避け...

...

BLIP-2とInstructBLIPがトップ3にランクイン! 12の主要モデル、16のリスト、「マルチモーダル大規模言語モデル」の総合評価

マルチモーダル大規模言語モデル (MLLM) は、LLM の豊富な知識蓄積と強力な推論および一般化機...

C# データ構造とアルゴリズムのシーケンス テーブルの簡単な分析

C# データ構造とアルゴリズムのシーケンス テーブルとは何ですか?まず、C# のデータ構造とアルゴリ...

2021年6月の人工知能分野における重要な進展の概要

人工知能は、人間の理論、方法、技術、アプリケーション システムをシミュレート、拡張、拡大するために使...

...

...

トランプ大統領、米国の製造業の発展にロボット活用を視野に

トランプ大統領は米国の製造業がかつての栄光を取り戻すことを望んでいる。彼はロボットに狙いを定め、米国...

2021 年に注目すべき 27 の建設技術トレンド (パート 2)

テクノロジーは建設業界にかつてないほど大きな影響を与えています。クラウドベースのコラボレーションやデ...