Skip to main content

Print all odd nodes of Binary Search Tree in vb.net

Print all odd nodes of BST

Vb program for Print all odd nodes of Binary Search Tree. Here more solutions.

' Include namespace system
Imports System 
'  Vb.net program for
'  Detect and print all leaf nodes in binary search tree

'  Binary Search Tree Node
Public Class TreeNode
    '  Data value
    Public  data As Integer
    '  Indicates left and right subtree
    Public  left As TreeNode
    Public  right As TreeNode
    Public Sub New(ByVal data As Integer)
        Me.data = data
        Me.left = Nothing
        Me.right = Nothing
    End Sub
End Class

Public Class BinarySearchTree
    Public  root As TreeNode
    Public Sub New()
        Me.root = Nothing
    End Sub
    '  Insert a node in BST
    Public Sub addNode(ByVal value As Integer)
        '  Create new node of binary search tree
        Dim node As TreeNode = New TreeNode(value)
        if (node IsNot Nothing) Then
            if (Me.root  Is  Nothing) Then
                '  When adds a first node in binary tree
                Me.root = node
            Else
                Dim find As TreeNode = Me.root
                '  Add new node to proper position
                while (find IsNot Nothing)
                    if (find.data >= value) Then
                        if (find.left  Is  Nothing) Then
                            find.left = node
                            Return
                        Else
                            '  Visit left sub-tree
                            find = find.left
                        End IF
                    Else
                        if (find.right  Is  Nothing) Then
                            find.right = node
                            Return
                        Else
                            '  Visit right sub-tree
                            find = find.right
                        End IF
                    End IF
                End While
            End IF
        Else
            Console.WriteLine( vbLf &"Memory Overflow")
        End IF
    End Sub
    '  Display the value of odd nodes in binary search tree
    Public Sub printOddNode(ByVal node As TreeNode)
        if (node IsNot Nothing) Then
            '  Visit to left child
            Me.printOddNode(node.left)
            if (node.data Mod 2 <> 0) Then
                '  When node contain odd value
                Console.Write("  {0}", node.data)
            End If
            '  Visit to right child
            Me.printOddNode(node.right)
        End If
    End Sub
    Public Shared Sub Main(ByVal args As String())
        Dim tree As BinarySearchTree = New BinarySearchTree()
        '  Add nodes in binary search tree
        '            5
        '           / \
        '          /   \ 
        '         /     \
        '        3       9
        '       / \     / \
        '      1   4   8   11
        '     / \     /      \
        '   -3   2   6        12
        tree.addNode(5)
        tree.addNode(3)
        tree.addNode(9)
        tree.addNode(1)
        tree.addNode(4)
        tree.addNode(8)
        tree.addNode(11)
        tree.addNode(-3)
        tree.addNode(2)
        tree.addNode(6)
        tree.addNode(12)
        '  Test
        tree.printOddNode(tree.root)
    End Sub
End Class

Output

  -3  1  3  5  9  11




Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment