Nノードの循環リンクリストを作成し、ノード数をカウントするPythonプログラム
'N'ノードを持つ循環リンクリストを作成し、ノード数のカウントを取得する必要がある場合は、'Node'クラスを作成する必要があります。循環リストのデータ要素を表示するために、データを表示する別のメソッドを定義できます。このクラスには、ノードに存在するデータと、リンクリストの次のノードへのアクセスという2つの属性があります。循環リンクリストでは、ヘッドとリアが互いに隣接しています。
それらは円を形成するように接続されており、最後のノードに「NULL」値はありません。
初期化関数を持つ別の「linked_list」クラスを作成する必要があり、ノードのヘッドは「None」に初期化されます。
以下は同じのデモンストレーションです-
例
class Node:
def __init__(self, my_data):
self.data = my_data
self.next = None
def add_data(head_ref,my_data):
ptr_1 = Node(0)
temp = head_ref
ptr_1.data = my_data
ptr_1.next = head_ref
if (head_ref != None) :
while (temp.next != head_ref):
temp = temp.next
temp.next = ptr_1
else:
ptr_1.next = ptr_1
head_ref = ptr_1
return head_ref
def count_node(head):
temp = head
result = 0
if (head != None) :
while True :
temp = temp.next
result = result + 1
if (temp == head):
break
return result
if __name__=='__main__':
head = None
head = add_data(head, 78)
head = add_data(head, 56)
head = add_data(head, 22)
print("Elements are added to list")
print("The number of nodes are : ")
print(count_node(head)) 出力
Elements are added to list The number of nodes are : 3
説明
- 「Node」クラスが作成されます。
- 必要な属性を持つ別の「linked_list」クラスが作成されます。
- 「add_data」という名前の別のメソッドが定義されています。これは、循環リンクリストにデータを追加するために使用されます。
- リンクリストデータをコンソールに表示するために使用される「print_it」という名前の別のメソッドが定義されています。
- 「linked_list」クラスのオブジェクトが作成され、そのオブジェクトでメソッドが呼び出されてデータが追加されます。
- これは、「print_it」メソッドを使用してコンソールに表示されます。
-
PythonでnノードのBSTの数をカウントするプログラム
n個の異なるノードがあるとします。すべてが異なります。二分探索木を形成するためにそれらを配置できる方法の数を見つける必要があります。二分探索木で知っているように、左側のサブツリーは常に小さい値を保持し、右側のサブツリーは大きい値を保持します。 これを解決するために、カタラン数を見つけます。カタラン数C(n)は、n個の異なるキーを持つ二分探索木を表します。式は次のようになります $$ C(n)=\ frac {(2n)!} {(n + 1)!\ times n!} $$ したがって、入力がn =3の場合、出力は5になります。 これを解決するには、次の手順に従います- 関数ncr
-
リスト内の最小数を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal