Pythonデータ構造:ギビングツリー

Pythonツリーはリンクリストによく似ていますが、階層的な順序になっています。ツリーは、他のノードにリンクするノードで構成されています。リンクのない一番下のノードは、リーフと呼ばれます。別のノードにリンクしたノードは親と呼ばれ、リンク先は子です。

ツリーは通常、さまざまなノード、またはカスケードする深層構造で構築されます。つまり、木は広いか深いかのどちらかであると言えます。

広いツリーと深いツリー構造

ツリー構造の効率的なバージョンは、二分探索木として知られています。ここで、親ノードに2つの子ノードのみを許可します。左側のノードは、右側のノードよりも値が小さくなっています。このようなツリーを構築すると、トラバースして特定の値を見つけることが非常に効率的になります。

二分木構造の例

上記の例で、39から98の値を見つけたい場合は、98> 39として右に移動します— 70から再び右に移動します— 97から右に移動し、3回の移動で目的のノードを見つけました。

それでは、Pythonでツリーノードを構築して、実際の動作を見てみましょう。ツリーノードを開始するために必要なのは名前だけです。来るすべての子ノードを保持するために、空のリストを自動的に割り当てます。

Pythonデータ構造に関する私の以前の記事を読んだら、これは見覚えがあるはずです。

ここで、他のデータ構造と同様に、ツリーに持たせたい実用的な機能を念頭に置く必要があります。ノードの追加と削除は明らかな選択であり、実装も簡単です。

追加するには、append()メソッドを使用し、削除するには、self.childrenリストを繰り返し処理し、削除するノードを除くすべてのノードを再度追加します。

次に、ツリーをトラバースして、必要な情報を見つけます。このメソッドを構築するには、空のリストから始めて、アクセスする各ノードを入力します。そのノードには子ノードがありますが、それをポップアウトして、アクセスするノードのリストに追加します。

このようなデータ構造が最もよく利用されるのはどこだと思いますか?おそらく、ノードにアクセスするためのロジックを追加すると、ユーザーが持つ可能性のある多くの特権を区分化できます。

データツリーは、コーディングの世界で広く使用されている優れたツールです。この簡単な紹介が、これらの構造について知りたい理由を垣間見る価値があることを願っています。

提案された投稿

ドメイン名に関する情報の検索

Brian P. Hogan 著『Small, Sharp Software Tools』からの抜粋

ドメイン名に関する情報の検索

facebook.com にリクエストを送信すると、コンピュータはドメイン名を検索してそのドメイン名を IP アドレスに変換し、コンピュータが接続できるようにします。

Langchain を使用して ChatGPT プラグインを無料で実行する方法

Langchain を使用して ChatGPT プラグインを無料で実行する方法

ブラウザ、コード インタープリターなどの新しい強力な ChatGPT プラグインについては聞いたことがあるはずです。しかし、問題があります。プラグインへのアクセスは待機リストに制限されているため、多くの人がアクセスできません。

関連記事

赤髪の少女単独公演

ヘイデンからの依頼で、ケイティは自分のオナニーを撮影する。

赤髪の少女単独公演

一緒に過ごした夜を終え、ヘイデンがケイティを大学の寮に車で送ったのは真夜中過ぎだった。彼女は朝早くから授業があり、前夜彼と一緒にいた後、着替えを持っていませんでした。

一部のフリーランサーが自分の人生を偽っている理由

一部のフリーランサーが自分の人生を偽っている理由

私は最近、世界最大のプロフェッショナルなソーシャル ネットワークである Linkedin を利用していて、フォローしているフリーランス デザイナーの注目を集めた投稿を見つけました。彼らはすべて、飛行機からの写真、ラップトップを持ってビーチで撮影した写真、スイミング プールやオフィスから素晴らしい景色を眺めた写真を投稿していました。

ジョーダン・ニーリー殺害と「愛国的」人種差別の問題

米国は、人種差別的な行動と善良な米国人であることを同一視しないという重要な一歩を踏み出すことができるだろうか?

ジョーダン・ニーリー殺害と「愛国的」人種差別の問題

[警告: このエッセイには、ジョーダン ニーリー殺害の犯人を賞賛する人々のスクリーンショットが含まれています。] 法執行当局はついに、そしておそらくはしぶしぶではありましたが、ジョーダン ニーリーを死ぬまで首を絞めた男、ダニエル ペニーをその殺人罪で起訴しました。

メディアを再考する: マクチェズニーの 5 つの真実とコミュニケーションの未来

今日の非常につながりの深い世界では、メディア システムは世論の形成、ひいては民主的な意思決定において極めて重要な役割を果たしています。学者のロバート・マクチェズニーは、コミュニケーションの政治経済についての深い分析の中で、従来の通念に疑問を呈し、メディアに関する彼の言うところの「5つの真実」を提示します。