Skip to content

Commit e113d53

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 1ceb911 commit e113d53

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

sorts/tree_sort.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
@dataclass
88
class Node:
99
"""Node of a Binary Search Tree (BST) for sorting."""
10+
1011
val: int
1112
left: Node | None = None
1213
right: Node | None = None
@@ -16,10 +17,10 @@ def __iter__(self) -> Iterator[int]:
1617
# Traverse left subtree first (smaller values)
1718
if self.left:
1819
yield from self.left
19-
20+
2021
# Current node value
2122
yield self.val
22-
23+
2324
# Traverse right subtree last (larger values)
2425
if self.right:
2526
yield from self.right
@@ -42,13 +43,13 @@ def insert(self, val: int) -> None:
4243
def tree_sort(arr: list[int] | tuple[int, ...]) -> tuple[int, ...]:
4344
"""
4445
Sort sequence using Binary Search Tree (BST) traversal.
45-
46+
4647
Args:
4748
arr: Input sequence (list or tuple of integers)
48-
49+
4950
Returns:
5051
Tuple of sorted integers
51-
52+
5253
Examples:
5354
>>> tree_sort([])
5455
()
@@ -68,16 +69,16 @@ def tree_sort(arr: list[int] | tuple[int, ...]) -> tuple[int, ...]:
6869
# Handle empty input immediately
6970
if not arr:
7071
return ()
71-
72+
7273
# Convert to list for uniform processing
7374
items = list(arr)
74-
75+
7576
# Initialize BST root with first element
7677
root = Node(items[0])
77-
78+
7879
# Insert remaining items into BST
7980
for item in items[1:]:
8081
root.insert(item)
81-
82+
8283
# Convert BST traversal to sorted tuple
8384
return tuple(root)

0 commit comments

Comments
 (0)