Skip to content

Commit 4516750

Browse files
authored
Merge pull request #605 from aakankshabhende/sorted-array-to-BST
Sorted-array-to-BST program added
2 parents 968efdc + da9fc78 commit 4516750

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Python program to convert sorted array into Binary Search Tree
2+
# Definition for a binary tree node.
3+
class Node:
4+
def __init__(self, d):
5+
self.data = d
6+
self.left = None
7+
self.right = None
8+
9+
def sortedArrayToBST(nums):
10+
if not nums:
11+
return None
12+
13+
mid = (len(nums)) // 2
14+
15+
root = Node(nums[mid]) # make the middle element the root
16+
17+
root.left = sortedArrayToBST(nums[:mid]) # all values < nums[mid]
18+
19+
root.right = sortedArrayToBST(nums[mid + 1:]) # all values > nums[mid]
20+
return root
21+
22+
def preOrder(node): # function to print the tree
23+
if not node:
24+
return None
25+
26+
print(node.data)
27+
preOrder(node.left)
28+
preOrder(node.right)
29+
30+
# driver program
31+
nums = [5,6,7,8,9,10,11]
32+
root = sortedArrayToBST(nums)
33+
print("PreOrder Traversal of constructed BST ")
34+
preOrder(root)

0 commit comments

Comments
 (0)