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

ブログ    
ブログ    
ブログ    

推薦する

データ時代の金採掘者になりましょう。Analysysアルゴリズムコンペティションがあなたの実力を披露するのを待っています。

もっと多くのアルゴリズムの才能とつながりたいですか?業界の最先端の技術を知りたいですか?インターネッ...

...

...

ビッグデータが地球を救う10の方法

近年、多くの物事の成功はテクノロジーの進歩によるものと言えます。その一つは、気候変動のリスクから地球...

...

人工知能に関する究極の議論: 私たちは AI なのか?

有名な科学者ホーキング博士の死からわずか半年後に、世界で最も聡明な科学者たちが歴史的な議論を始めると...

Facebook、機械が人間のように音楽を聴けるようにするDemucsプロジェクトをオープンソース化

[[317839]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...

...

中国科学技術大学が提案したCNNとTransformerのデュアルネットワークモデルの精度は84.1%にも達する

[[416636]] Transformer と CNN はどちらも独自の利点を持ち、視覚表現を処理...

AIの次の目的地:リアルタイムサービス

リアルタイムサービスの波が徐々に私たちの日常生活に浸透するにつれ、コンピューティングインフラストラク...

ロボットの認識システムはどのように機能するのでしょうか?

ビジュアルサーボシステムは、視覚情報をフィードバック信号として使用し、ロボットの位置と姿勢を制御およ...

美術系の学生は皆AIを崇拝しており、写真はすぐに絵画に描ける

ピエロの写真を入力するだけです。このプログラムは、油絵の肖像画を一筆一筆描いていく画家のようなもので...

...

8 クイーン問題を解く C# アルゴリズムの簡単な分析

8つのクイーンの問題の説明: 8 クイーン問題は古くからある有名な問題であり、バックトラッキング ア...