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# データ暗号化を実現する対称暗号化アルゴリズム

ブログ    
ブログ    

推薦する

...

スマートエコノミーの時代において、人工知能技術をどのように活用して、より多くの技術的利益をもたらすことができるのでしょうか?

人工知能技術の急速な発展は、あらゆる分野で技術革新を推進し、多数の新興産業を生み出しました。今後 1...

スタンフォード大学のAIアルゴリズムは死を予測できる!これはホスピスにとって良いことかもしれない…

人工知能を使って患者の死期を予測するというのは、ディストピアSFシリーズ『ブラック・ミラー』のような...

アルゴリズムモデルの自動ハイパーパラメータ最適化手法

ハイパーパラメータとは何ですか?学習モデルには、一般的に 2 種類のパラメータがあります。1 つはデ...

5Gベースバンドに機械学習ユニットを追加:クアルコムには多くのAI脳の穴がある

最も先進的な AI テクノロジーは、最も広く使用されているモバイル チップに使用されています。最近、...

0コードの微調整大型モデルが人気で、わずか5ステップで、コストは150元と低い

0 コードの大規模モデルを20 ドル未満で微調整できますか?プロセスも非常に簡単で、必要なステップは...

AIは近い将来自己認識できるようになるのでしょうか? Facebook がメタバースへの扉を開く「Ego4D」を発表

ある日、ヘルメットをかぶると、SFのような美しい世界が目の前に浮かび上がるのを想像したことはありませ...

AIは地球上のあらゆる言語を翻訳できるよう自ら学習できる

fastcompany によると、最近登場した 2 つの機械翻訳システムは、人間が翻訳したテキストか...

リスト発表:海雲捷雲の田良氏が「2021年科学技術影響力のある人物賞」を受賞

著名なIT技術メディア51CTOが主催する第16回中国企業年次選考活動「IT印象:イノベーションの活...

世界に革命を起こす5つの新興技術

急速に進化するデジタル環境において、テクノロジーは私たちの生活を変え続け、私たちが可能だと思っていた...

LEACHプロトコルのアルゴリズムと特徴

LEACH プロトコルについてはあまり知られていないかもしれません。このプロトコルの説明は、低電力適...

デジタル変革の3つの大きな落とし穴に注意: インテルがPing An Healthcare Technologyに「エンドツーエンド」のAI機能を提供

[51CTO.comからのオリジナル記事] 現在、私たちの周りではデジタル変革が起こっています。デジ...

tf.keras と Eager Execution を使用して複雑な問題を解決する方法

生成モデルとシーケンス モデルは、常に私を魅了してきました。これらのモデルは、機械学習を初めて学ぶと...

...

わかりやすい言葉で解説:人工知能(AI)とは何か?小学生でもわかる

昨今、人工知能(AI)という言葉は至るところで聞かれます。科学技術革新を支援する国や地方政府の政策か...