ツリー内のすべてのノードの合計を見つけるPythonプログラム
ツリー内のすべてのノードの合計を取得する必要がある場合は、「Tree_structure」クラスが作成され、ルート値を設定するメソッド、および他の値を追加するメソッドが定義されます。また、ツリー構造のすべての要素の合計を決定する方法もあります。ユーザーが選択できるさまざまなオプションが用意されています。ユーザーの選択に基づいて、操作はツリー要素に対して実行されます。
以下は同じのデモンストレーションです-
例
class Tree_structure: def __init__(self, data=None): self.key = data self.children = [] def set_root(self, data): self.key = data def add_values(self, node): self.children.append(node) def search_val(self, key): if self.key == key: return self for child in self.children: temp = child.search(key) if temp is not None: return temp return None def summation_nodes(self): sum_val = self.key for child in self.children: sum_val = sum_val + child.summation_nodes() return sum_val tree = None print('Menu (no duplicate keys allowed)') print('add <data> at root') print('add <data> below <data>') print('summation') print('quit') while True: my_input = input('What would you like to do? ').split() operation = my_input[0].strip().lower() if operation == 'add': data = int(my_input[1]) newNode = Tree_structure(data) sub_op = my_input[2].strip().lower() if sub_op == 'at': tree = newNode elif sub_op == 'below': my_pos = my_input[3].strip().lower() key = int(my_pos) ref_node = None if tree is not None: ref_node = tree.search_val(key) if ref_node is None: print('No such key exists') continue ref_node.add_values(newNode) elif operation == 'summation': if tree is None: print('The tree is empty') else: summation_val = tree.summation_nodes() print('Sum of all the nodes is : {}'.format(summation_val)) elif operation == 'quit': break
出力
Menu (no duplicate keys allowed) add <data> at root add <data> below <data> summation quit What would you like to do? add 56 at root What would you like to do? add 45 below 56 What would you like to do? add 23 below 56 What would you like to do? summation Sum of all the nodes is : 124 What would you like to do?
説明
-
「Tree_structure」クラスが作成されます。
-
「キー」をTrueに設定し、ツリーの子に空のリストを設定します。
-
ツリーのルート値を設定するのに役立つ「set_root」関数があります。
-
ツリーに要素を追加するのに役立つ「add_vals」という名前のメソッドが定義されています。
-
ツリー内の要素の検索に役立つ「search_val」という名前の別のメソッドが定義されています。
-
「summation_nodes」という名前の別のメソッドが定義されています。これは、ツリーのすべての要素/ノードの合計を取得するのに役立ちます。
-
これは再帰関数です。
-
「ルートに追加」、「下に追加」、「合計」、「終了」などの4つのオプションがあります。
-
ユーザーが指定したオプションに応じて、それぞれの操作が実行されます。
-
この出力はコンソールに表示されます。
-
Pythonプログラムで配列の合計を見つける
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列の合計を計算するために必要な配列が与えられます。 合計を取得するために各インデックスで配列と要素全体をトラバースするブルートフォースアプローチについては、以下で説明します。合計を取得するための各インデックスについては、以下で説明します。 例 # sum function def sum_(arr,n): # using built-in function return(sum(arr)) # main arr = [11,22,33,44,55,66
-
配列の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '