Skip to content

Commit 6945735

Browse files
cclaussdhruvmanila
andauthored
binary_tree_traversals.py: Simplify with dataclasses (TheAlgorithms#4336)
* binary_tree_traversals.py: Simplify with dataclasses * Update data_structures/binary_tree/binary_tree_traversals.py Co-authored-by: Dhruv Manilawala <[email protected]> * Optional["Node"] Co-authored-by: Dhruv Manilawala <[email protected]>
1 parent 2ce6be0 commit 6945735

File tree

1 file changed

+7
-14
lines changed

1 file changed

+7
-14
lines changed

Diff for: data_structures/binary_tree/binary_tree_traversals.py

+7-14
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,17 @@
11
# https://en.wikipedia.org/wiki/Tree_traversal
2+
from dataclasses import dataclass
3+
from typing import Optional
24

35

6+
@dataclass
47
class Node:
5-
"""
6-
A Node has data variable and pointers to its left and right nodes.
7-
"""
8-
9-
def __init__(self, data):
10-
self.left = None
11-
self.right = None
12-
self.data = data
8+
data: int
9+
left: Optional["Node"] = None
10+
right: Optional["Node"] = None
1311

1412

1513
def make_tree() -> Node:
16-
root = Node(1)
17-
root.left = Node(2)
18-
root.right = Node(3)
19-
root.left.left = Node(4)
20-
root.left.right = Node(5)
21-
return root
14+
return Node(1, Node(2, Node(4), Node(5)), Node(3))
2215

2316

2417
def preorder(root: Node):

0 commit comments

Comments
 (0)