は、私はOOPの意味は、基本的にこのhttp://www.geeksforgeeks.org/inorder-tree-traversal-without-recursion/PythonでOOPなしでバイナリツリーを作ることは可能ですか?
私は、この検索したが、私は唯一の非再帰的な方法でバイナリツリーを反復処理する方法を見つけるようなクラスノードやものを使用することです。ですから、Pythonでオブジェクトを使わずにバイナリツリーを実行できるかどうかは疑問です。 私がテストしたアプローチの1つは、各項目がノードであり、ノード内の各項目が別のリスト(またはノード)だった複数の入れ子リストを作成することでした。このような何か:
t = [[root], [left], [right]]
今、私はこれらのノードのそれぞれ1
t[0][0].append(t2)
t[0][1].append(t3)
に他のノードを追加することができます。しかし、私は木がどのように多くの次元を持つことになります推測しなければならないと私はで終わるだろうt [0] [0] [0] [0] [0] [0] [0] [0] [0]特定のノードからデータを取得します。私はそれをどうやって行うのか分からず、私はPythonの全面的な話題です。私はCに慣れていますが、誰かを助けなければならないし、OOPを知らない人もいます。彼らはOOPを学ばなくてはなりませんか、Pythonでバイナリツリーを実装する別の方法はありますか?
Pythonの* Everything *はリストと整数を含むオブジェクトです。しかし、はい、Cで言うことができるように、組み込みの型だけを使ってバイナリツリーを構築することができます。Cでこれをどうやって行うのですか? –
どうして? C言語では構造体を作ることができますが、これを行うにはここに何かありますか? – Sebasuraa
['namedtuple'](https://pymotw.com/2/collections/namedtuple.html)を見てください。 –