BinaryRecurviseSearchTree
In this blog post you will learn binary recursive search tree in swift
What is a Tree :
First Now what is tree .Tree is a data structure which is used to organized the data .In computer hash functions are in tree.
BST Oprerations
- Insert − Inserts an element in a tree/create a tree.
- Search − Searches an element in a tree.
- Preorder Traversal − Traverses a tree in a pre-order manner.
- Inorder Traversal − Traverses a tree in an in-order manner
- Postorder Traversal − Traverses a tree in a post-order manner
Search in a tree
class Node{ var Number:Int let leftnode:Node? let rightnode:Node? init(vlaue:Int,left:Node?,right:Node?) { self.Number = vlaue self.leftnode = left self.rightnode = right } }//Tree Stucture //Bulid Node let rightbranchofright = Node(vlaue: 45, left: nil, right: nil) let leftbrnach = Node(vlaue: 34, left: nil, right: nil) let leftnodeofrightbranch = Node(vlaue: 89, left: leftbrnach, right: rightbranchofright) let branchofleft_RightNode = Node(vlaue: 90, left: leftnodeofrightbranch, right: nil) let leftbranchofrightnode = Node(vlaue: 48, left: branchofleft_RightNode, right: branchofleft_RightNode) let rightbranch = Node(vlaue: 34, left: leftbranchofrightnode, right: branchofleft_RightNode) let rightnodeofleftnode = Node(vlaue: 12, left: nil, right: nil) let leftnode = Node(vlaue: 9, left: nil, right: rightnodeofleftnode) let tennode = Node(vlaue: 10, left: leftnode, right: rightbranch ) // Implement the Funcation func binarysearchintree(_ Node:Node?,searchvalue:Int)->Bool{ if Node == nil{ return false } if Node?.Number == searchvalue{ return true }else { return binarysearchintree(Node?.leftnode, searchvalue: searchvalue) || binarysearchintree(Node?.rightnode, searchvalue: searchvalue) } } binarysearchintree(tennode, searchvalue: 89)