1. ホーム
  2. python

[解決済み] PythonのTreeデータ構造を探しています [終了しました]。

2023-02-24 19:15:10

質問

私は良いツリーデータ構造クラスを探しています。私は このパッケージ しかし、私はPythonに比較的新しいので(プログラミングではない)、私はそこにより良いものがあるかどうかわかりません。

ここにいるPythonistの皆さんにお聞きしたいのですが、いつも使っている、お勧めのツリースクリプトはありますか?

[編集]

明確にするために、「ツリー」によって、私は単純な非順序木を意味します (うーん、それは少し再帰的な定義です - しかし、それがいくらか物事を明確にすることを望みます)。私がツリーを必要とするもの (すなわち、使用例) について。私はフラット ファイルからツリー データを読み込んでおり、データからツリーを構築してツリー内のすべてのノードをトラバースする必要があります。

どのように解決するのですか?

自分でロールバックする。たとえば、リストのリストとしてツリーをモデル化するだけです。より良い推奨を提供する前に、あなたの特定のニーズを詳細に説明する必要があります。

HelloGoodbyeの質問に答えるために、これは木を反復するためのサンプルコードです。

def walk(node):
    """ iterate tree in pre-order depth-first search order """
    yield node
    for child in node.children:
        for n in walk(child):
            yield n

この再帰的な実装はO(n log n)であることが一つの特徴です。これは、私が扱うすべての木に対してうまく機能します。Python 3 の subgenerator が助けになるかもしれません。