Skip to content

Commit 9e589f6

Browse files
committed
backend redirected to C++
1 parent 6adf3d2 commit 9e589f6

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

pydatastructs/trees/binary_trees.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,8 +1558,9 @@ def methods(cls):
15581558
__slots__ = ['tree']
15591559

15601560
def __new__(cls, tree, **kwargs):
1561-
raise_if_backend_is_not_python(
1562-
cls, kwargs.get('backend', Backend.PYTHON))
1561+
backend = kwargs.get('backend', Backend.PYTHON)
1562+
if backend == Backend.CPP:
1563+
return _trees.BinaryTreeTraversal(tree, **kwargs)
15631564
if not isinstance(tree, BinaryTree):
15641565
raise TypeError("%s is not a binary tree"%(tree))
15651566
obj = object.__new__(cls)

pydatastructs/trees/tests/test_binary_trees.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,9 @@ def test_cpp_BST2():
6060
"(5, 6, 6, 6), (None, 4, 4, None), (None, 7, 7, None), (8, 14, 14, None), "
6161
"(None, 13, 13, None)]")
6262

63-
##### BinaryTreeTraversal _pre_order test #####
64-
from pydatastructs.trees._backend.cpp import _trees
65-
t = _trees.BinaryTreeTraversal(b)
66-
p = t.depth_first_search(order="pre_order")
63+
##### BinaryTreeTraversal pre_order test #####
64+
trav = BinaryTreeTraversal(b, backend=Backend.CPP)
65+
p = trav.depth_first_search(order="pre_order")
6766
assert [node.key for node in p] == [8, 3, 1, 6, 4, 7, 10, 14, 13]
6867

6968
##### _simple_path() test #####

0 commit comments

Comments
 (0)