Skip to content

Commit 6b07de6

Browse files
authored
Update skew_heap.py
1 parent f0beacc commit 6b07de6

File tree

1 file changed

+4
-19
lines changed

1 file changed

+4
-19
lines changed

data_structures/heap/skew_heap.py

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -61,36 +61,21 @@ def value(self) -> T:
6161
"""
6262
return self._value
6363

64+
6465
@staticmethod
65-
def merge(
66-
root1: SkewNode[T] | None, root2: SkewNode[T] | None
67-
) -> SkewNode[T] | None:
68-
"""
69-
Merge 2 nodes together.
70-
>>> SkewNode.merge(SkewNode(10),SkewNode(-10.5)).value
71-
-10.5
72-
>>> SkewNode.merge(SkewNode(10),SkewNode(10.5)).value
73-
10
74-
>>> SkewNode.merge(SkewNode(10),SkewNode(10)).value
75-
10
76-
>>> SkewNode.merge(SkewNode(-100),SkewNode(-10.5)).value
77-
-100
78-
"""
66+
def merge(root1: SkewNode[T] | None, root2: SkewNode[T] | None) -> SkewNode[T] | None:
7967
if not root1:
8068
return root2
81-
8269
if not root2:
8370
return root1
84-
85-
# Use explicit __lt__ method for type safety
86-
if root1.value > root2.value:
71+
72+
if root2.value < root1.value:
8773
root1, root2 = root2, root1
8874

8975
result = root1
9076
temp = root1.right
9177
result.right = root1.left
9278
result.left = SkewNode.merge(temp, root2)
93-
9479
return result
9580

9681

0 commit comments

Comments
 (0)