Tree Insert Animation
Inserting 5 a1 a0 a2 6 root a3 a4 3 7 2 4 left data right public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node;
Inserting 5 insertHelper item node a1 a0 a2 6 root a3 a4 3 7 2 4 left data right insertHelper item node 5 a0 public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node;
Inserting 5 insertHelper item node insertHelper item node a1 a0 a2 6 root a3 a4 3 7 2 4 left data right insertHelper item node 5 a0 insertHelper item node 5 a1 public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node;
Inserting 5 insertHelper item node insertHelper item node a1 a0 a2 6 root a3 a4 3 7 2 4 left data right insertHelper item node 5 a0 insertHelper item node 5 a1 insertHelper item node 5 a4 public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node;
Inserting 5 insertHelper item node insertHelper item node a1 a0 a2 6 root a3 a4 3 7 2 4 left data right insertHelper item node 5 a0 insertHelper item node 5 a1 insertHelper item node 5 a4 insertHelper item node 5 a5 5 left data right public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node;
a5 Inserting 5 insertHelper item node insertHelper item node 6 root a3 a4 3 7 2 4 left data right insertHelper item node 5 a0 insertHelper item node 5 a1 insertHelper item node 5 a4 insertHelper item node 5 a5 5 left data right public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node; a5
a5 a5 a4 Inserting 5 insertHelper item node insertHelper item node root a0 left data right insertHelper item node 5 a0 a1 6 a2 insertHelper item node 5 a1 insertHelper item node 5 a4 a1 a2 left data right left data right a3 3 a4 7 a3 a4 left data right left data right 2 4 a5 a5 5 left data right public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node; a5 a4
a5 a4 a1 Inserting 5 a4 insertHelper item node insertHelper item node root a0 left data right insertHelper item node 5 a0 a1 6 a2 insertHelper item node 5 a1 a1 a2 left data right left data right 3 a4 a4 a3 7 a3 a4 left data right left data right 2 4 a5 a5 5 left data right public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node; a4 a1
a5 a1 a0 Inserting 5 a1 insertHelper item node a0 root a0 left data right insertHelper item node 5 a0 a1 a1 6 a2 a1 a2 left data right left data right 3 a4 a4 a3 7 a3 a4 left data right left data right 2 4 a5 a5 5 left data right public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node; a1 a0
a5 a0 Inserting 5 a0 a0 root a0 left data right a1 a1 6 a2 a1 a2 3 a4 a4 a3 7 a3 a4 left data right left data right 2 4 a5 a5 5 left data right public void insert(Comparable item){ if (search(item)) return;//prevent duplicates root = insertHelper(item,root); } private TreeNode insertHelper(Comparable item, TreeNode node){ if (node == null) return new TreeNode(item); if (node.data.compareTo(item)>0) node.left = insertHelper(item,node.left); else node.right = insertHelper(item,node.right); return node; a0
the end