File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change
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 )
You can’t perform that action at this time.
0 commit comments