1. ツリー構造1. 配列とリンクリスト 配列構造 配列ストレージは、要素に添字でアクセスするため、クエリ速度が速くなります。配列要素が順序付けられている場合は、バイナリ検索を使用して検索速度を上げることができます。新しい要素を追加すると複数の添字が移動する可能性がある場合は、効率が低くなります。 リンクリスト構造 リンク リストは要素を格納し、要素の追加や削除には効率的ですが、要素をトラバースするには毎回先頭ノードから開始する必要があり、非常に非効率的です。 ツリー構造により、データの保存と読み取りの効率が比較的向上します。 2. ツリー構造の概念
ツリー構造はネストされた構造です。ツリー構造の外側の層と内側の層は同様の構造を持つため、この構造は多くの場合再帰的に表現できます。従来のデータ構造におけるさまざまなツリー図は、典型的なツリー構造です。ツリーは、ルート、左サブツリー、右サブツリーとして単純に表すことができます。 左のサブツリーと右のサブツリーにはそれぞれ独自のサブツリーがあります。 2. 二分木モデル木には多くの種類があります。二分木は重要な種類の木構造です。各ノードが最大 2 つの子ノードを持つことができる形式は、二分木と呼ばれます。二分木の子ノードは、左ノードと右ノードに分かれています。多くの実用的な問題から抽象化されたデータ構造は、多くの場合、二分木の形式になっています。 完全な二分木 バイナリ ツリーのすべてのリーフ ノードは、最後のレイヤーまたは最後から 2 番目のレイヤーにあり、最後のレイヤーのリーフ ノードは左側で連続しており、最後から 2 番目のレイヤーのリーフ ノードは右側で連続しています。これを完全バイナリ ツリーと呼びます。 完全な二分木 バイナリ ツリーのすべてのリーフ ノードが最後のレイヤーにあり、ノードの総数が 2^n -1 (n はレイヤーの数) の場合、そのツリーは完全バイナリ ツリーと呼ばれます。 バランスのとれた二分木 バランスのとれた二分木とは、任意のノードのサブツリーの高さの差の絶対値が 1 以下であり、左右のサブツリーが両方ともバランスのとれた二分木であることを意味します。一般的なバランスのとれた木には、B ツリー (多方向バランス探索木)、AVL ツリー (二分バランス探索木) などがあります。 二分探索木 二分探索木 (BinarySearchTree) は二分木であるだけでなく、特定の順序も満たします。つまり、ノードの左の子はそれ自体よりも小さく、ノードの右の子はそれ自体よりも大きくなります。 3. バイナリツリーエンコーディング1. 基本コード ノードコード
ツリー構造コード
2. トラバーサルと検索 事前順序トラバーサル検索 まず現在のノードのデータを処理し、次に左のサブツリーと右のサブツリーを順番に再帰的にトラバースします。
順序探索検索 まず左のサブツリーを再帰的に走査し、次に親ノードを処理し、次に右のサブツリーを再帰的に走査します。
後順序トラバーサル検索 まず左のサブツリーを再帰的にトラバースし、次に右のサブツリーを再帰的にトラバースし、最後に親ノードを処理します。
3. ノードを削除する 現在削除中のノードがリーフ ノードである場合は、ノードを直接削除できます。削除中のノードが非リーフ ノードである場合は、ノード ツリーが削除されます。
4. 多分岐ツリー多分岐ツリーとは、親ノードが複数の子ノードを持つことができるが、子ノードは依然として親ノードの法則に従うことを意味します。通常、バイナリツリーの実用性は非常に高く、多分岐ツリーを使用してデータ関係の説明を簡素化できます。 たとえば、Linux ファイルシステム、組織構造の関係、ロールメニュー権限管理システムなどは、通常、マルチブランチツリーに基づいて記述されます。 |
<<: 人工知能XiaoIceが繊維企業向けにオンデマンドカスタマイズを実現するAIデザインプラットフォームを開設
>>: 従来の連合学習が異種混在の課題に直面したときは、これらのパーソナライズされた連合学習アルゴリズムを試してみてください。
[51CTO.com からのオリジナル記事] データは今最もホットなものです。当時は「紙は洛陽と同...
あなたがロボットを見つめると、ロボットもあなたを見つめます。視線は人と人との間のシグナルであり、コミ...
[51CTO.com からのオリジナル記事] 7 年間の努力と見事な変貌。 2012年以降、6年連続...
日常的なタスクの自動化は、現在多くの業界で関心を集めているコンセプトです。最も革命的なのは自動運転車...
【51CTO天津6月29日】本日、「偉大な知能時代へ向かう」をテーマとする世界知能会議が天津梅江会議...
2月28日、Adweekは、Googleがいくつかの出版社と、ニュースコンテンツを作成するための新...
[[331103]] AIOps ツールは IT 分野で幅広い応用が期待されていますが、クラウド テ...
[[416976]]この記事はWeChatの公開アカウント「Big Data DT」から転載したもの...
すべてはウォール・ストリート・ジャーナルが最近発表した米国上場企業のCEOの給与ランキングから始まっ...
機械学習システムを分類する 1 つの方法は、一般化の程度によって分類することです。ほとんどの機械学習...
AI テクノロジーがかなり集中化しており、テクノロジー大手が優位に立っていることにお気づきですか?...