From ed57c528bf5d49ceeadfe5fb9c0882f07ec69375 Mon Sep 17 00:00:00 2001 From: Suyash Dongre <109069262+Suyashd999@users.noreply.github.com> Date: Fri, 10 Nov 2023 23:26:22 +0530 Subject: [PATCH 1/3] Added doctest to randomized_heap.py --- data_structures/heap/randomized_heap.py | 34 +++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/data_structures/heap/randomized_heap.py b/data_structures/heap/randomized_heap.py index c0f9888f80c7..e639d2aa73c0 100644 --- a/data_structures/heap/randomized_heap.py +++ b/data_structures/heap/randomized_heap.py @@ -22,14 +22,44 @@ def __init__(self, value: T) -> None: @property def value(self) -> T: - """Return the value of the node.""" + """ + Return the value of the node. + + >>> rhn = RandomizedHeapNode(10) + >>> rhn.value + 10 + >>> rhn = RandomizedHeapNode(-10) + >>> rhn.value + -10 + >>> rhn = RandomizedHeapNode() + Traceback (most recent call last): + ... + TypeError: RandomizedHeapNode.__init__() missing 1 required positional argument: 'value' + """ return self._value @staticmethod def merge( root1: RandomizedHeapNode[T] | None, root2: RandomizedHeapNode[T] | None ) -> RandomizedHeapNode[T] | None: - """Merge 2 nodes together.""" + """ + Merge 2 nodes together. + + >>> rhn1 = RandomizedHeapNode(10) + >>> rhn2 = RandomizedHeapNode(20) + >>> RandomizedHeapNode.merge(rhn1,rhn2).value + 10 + + >>> rhn1 = RandomizedHeapNode(20) + >>> rhn2 = RandomizedHeapNode(10) + >>> RandomizedHeapNode.merge(rhn1,rhn2).value + 10 + + >>> rhn1 = RandomizedHeapNode(5) + >>> rhn2 = RandomizedHeapNode(0) + >>> RandomizedHeapNode.merge(rhn1,rhn2).value + 0 + """ if not root1: return root2 From 438286410277a071800e6c930e2f846933a1ed56 Mon Sep 17 00:00:00 2001 From: Suyash Dongre <109069262+Suyashd999@users.noreply.github.com> Date: Sat, 11 Nov 2023 00:02:22 +0530 Subject: [PATCH 2/3] Update randomized_heap.py --- data_structures/heap/randomized_heap.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/data_structures/heap/randomized_heap.py b/data_structures/heap/randomized_heap.py index e639d2aa73c0..58de64e98d03 100644 --- a/data_structures/heap/randomized_heap.py +++ b/data_structures/heap/randomized_heap.py @@ -31,10 +31,6 @@ def value(self) -> T: >>> rhn = RandomizedHeapNode(-10) >>> rhn.value -10 - >>> rhn = RandomizedHeapNode() - Traceback (most recent call last): - ... - TypeError: RandomizedHeapNode.__init__() missing 1 required positional argument: 'value' """ return self._value From cf16042b9abc3462097f197d72ccc8598973e6d5 Mon Sep 17 00:00:00 2001 From: Suyash Dongre <109069262+Suyashd999@users.noreply.github.com> Date: Sat, 11 Nov 2023 08:10:10 +0530 Subject: [PATCH 3/3] Update data_structures/heap/randomized_heap.py Co-authored-by: Tianyi Zheng --- data_structures/heap/randomized_heap.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data_structures/heap/randomized_heap.py b/data_structures/heap/randomized_heap.py index 58de64e98d03..12888c1f4089 100644 --- a/data_structures/heap/randomized_heap.py +++ b/data_structures/heap/randomized_heap.py @@ -43,17 +43,17 @@ def merge( >>> rhn1 = RandomizedHeapNode(10) >>> rhn2 = RandomizedHeapNode(20) - >>> RandomizedHeapNode.merge(rhn1,rhn2).value + >>> RandomizedHeapNode.merge(rhn1, rhn2).value 10 >>> rhn1 = RandomizedHeapNode(20) >>> rhn2 = RandomizedHeapNode(10) - >>> RandomizedHeapNode.merge(rhn1,rhn2).value + >>> RandomizedHeapNode.merge(rhn1, rhn2).value 10 >>> rhn1 = RandomizedHeapNode(5) >>> rhn2 = RandomizedHeapNode(0) - >>> RandomizedHeapNode.merge(rhn1,rhn2).value + >>> RandomizedHeapNode.merge(rhn1, rhn2).value 0 """ if not root1: