Skip to content

Latest commit

 

History

History
198 lines (140 loc) · 5.27 KB

File metadata and controls

198 lines (140 loc) · 5.27 KB

Binary Search Tree (BST)

1 Testing

1.1 Commands

Test BST using below commands:

Note:
Run the command from project root folder python-data-structures-algorithms.

python 01_data_structures/05_binary_search_tree/main.py

1.2 Output

Case 1: Full Binary Tree without duplicates

********** Case 1: Full Binary Tree without duplicates **********
Initialize empty Binary Search Tree:

Insert below 15 values into Binary Search Tree:
[50, 70, 55, 30, 40, 56, 80, 41, 35, 75, 54, 20, 90, 0, 25]

Display Binary Search Tree:
Root: Node(left=30, value=50, right=70)
Max level: 4

                     50
         30                      70
   20          40          55          80
 0    25    35    41    54    56    75    90


Check if values: [56, 0, -20] exists in Binary Search Tree:
Value: '56' found in BST.
Value: '0' found in BST.
Value: '-20' NOT found in BST.

Deleting node with value: 36 from BST...
Node with value: 36 not found in BST.

Deleting node with value: 75 from BST...
Binary Search Tree after deleting Node: 75
Root: Node(left=30, value=50, right=70)
Max level: 4

                     50
         30                      70
   20          40          55          80
 0    25    35    41    54    56          90


Deleting node with value: 80 from BST...
Binary Search Tree after deleting Node: 80
Root: Node(left=30, value=50, right=70)
Max level: 4

                     50
         30                      70
   20          40          55          90
 0    25    35    41    54    56


Deleting node with value: 30 from BST...
Binary Search Tree after deleting Node: 30
Root: Node(left=35, value=50, right=70)
Max level: 4

                     50
         35                      70
   20          40          55          90
 0    25          41    54    56

*****************************************************************

Case 2: Skewed Binary Tree without duplicates

****************** Case 2: Skewed Binary Tree without duplicates ******************
Initialize empty Binary Search Tree:

Insert below 13 values into Binary Search Tree:
[47, 21, 76, 18, 27, 52, 82, 25, 29, 24, 26, 28, 30]

Display Binary Search Tree:
Root: Node(left=21, value=47, right=76)
Max level: 5

                                             47
                     21                                              76
         18                      27                      52                      82
                           25          29
                        24    26    28    30


Deleting node with value: 27 from BST...
Binary Search Tree after deleting Node: 27
Root: Node(left=21, value=47, right=76)
Max level: 5

                                             47
                     21                                              76
         18                      26                      52                      82
                           25          29
                        24          28    30


Deleting node with value: 26 from BST...
Binary Search Tree after deleting Node: 26
Root: Node(left=21, value=47, right=76)
Max level: 5

                                             47
                     21                                              76
         18                      25                      52                      82
                           24          29
                                    28    30


Deleting node with value: 47 from BST...
Binary Search Tree after deleting Node: 47
Root: Node(left=21, value=30, right=76)
Max level: 5

                                             30
                     21                                              76
         18                      25                      52                      82
                           24          29
                                    28

*************************************************************************************

Case 3: Skewed Binary Tree with duplicates

********** Case 3: Skewed Binary Tree with duplicates **********
Initialize empty Binary Search Tree:

Insert below 7 values into Binary Search Tree:
[50, 60, 40, 50, 60, 45, 60]

Display Binary Search Tree:
Root: Node(left=40, value=50, right=60)
Max level: 4

                     50
         40                      60
               45          50          60
                                          60


Check if values: [60, 0, 45] exists in Binary Search Tree:
Value: '60' found in BST.
Value: '0' NOT found in BST.
Value: '45' found in BST.

Deleting node with value: 60 from BST...
Binary Search Tree after deleting Node: 60
Root: Node(left=40, value=50, right=60)
Max level: 4

                     50
         40                      60
               45          50          60



Deleting node with value: 60 from BST...
Binary Search Tree after deleting Node: 60
Root: Node(left=40, value=50, right=60)
Max level: 4

                     50
         40                      60
               45          50



Deleting node with value: 40 from BST...
Binary Search Tree after deleting Node: 40
Root: Node(left=45, value=50, right=60)
Max level: 4

                     50
         45                      60
                           50



Deleting node with value: 36 from BST...
Node with value: 36 not found in BST.
************************************************************