SlideShare ist ein Scribd-Unternehmen logo
1 von 5
5.3 2-3 Trees
Definition

    •   A 2-3 Tree is a null tree (zero nodes) or a single node tree (only one node) or a
        multiple node tree with the following properties:

        1.
        Each interior node has two or three children
        2.
        Each path from the root to a leaf has the same length.
Fields of a Node :

Internal Node

p1 k1 p2 k2 p3
  p1 : Pointer to the first child
  p2 : Pointer to the second child
  p3 : Pointer to the third child
  k1 : Smallest key that is a descendent of the second child
  k2 : Smallest key that is a descendent of the third child

Leaf Node

key other fields


   Records are placed at the leaves. Each leaf contains a record (and key)

Example: See Figure 5.23



                          Figure 5.23: An example of a 2-3 tree
Search

   •     The values recorded at the internal nodes can be used to guide the search path.
   •     To search for a record with key value x, we first start at the root. Let k1 and k2 be
         the two values stored here.

         1.
         If x < k1, move to the first child
         2.

         If x    k1 and the node has only two children, move to the second child
         3.

         If x    k1 and the node has three children, move to the second child if x < k2 and

         to the third child if x     k2.

   •     Eventually, we reach a leaf. x is in the tree iff x is at this leaf.

Path Lengths

   •     A 2-3 Tree with k levels has between 2k - 1 and 3k - 1 leaves
   •     Thus a 2-3 tree with n elements (leaves) requires


         at least 1 + log3n levels

         at most 1 + log2n levels

5.3.1 2-3 Trees: Insertion

For an example, see Figure 5.24.
Figure 5.24: Insertion in 2-3 trees: An example




Figure 5.25: Deletion in 2-3 trees: An Example
Insert (x)

1.
       Locate the node v, which should be the parent of x
2.
       If v has two children,

             •   make x another child of v and place it in the proper order
             •   adjust k1 and k2 at node v to reflect the new situation

3.
       If v has three children,

             •   split v into two nodes v and v'. Make the two smallest among four children
                 stay with v and assign the other two as children of v'.
             •   Recursively insert v' among the children of w where

                                                w = parent of v

             •   The recursive insertion can proceed all the way up to the root, making it
                 necessary to split the root. In this case, create a new root, thus increasing
                 the number of levels by 1.

5.3.2 2-3 Trees: Deletion

Delete (x)

1.
       Locate the leaf L containing x and let v be the parent of L
2.
       Delete L. This may leave v with only one child. If v is the root, delete v and let its
       lone child become the new root. This reduces the number of levels by 1. If v is not
       the root, let
       p = parent of v
       If p has a child with 3 children, transfer an appropriate one to vif this child is
       adjacent (sibling) to v.
       If children of p adjacent to v have only two children, transfer the lone child of v to
       an adjacent sibling of v and delete v.

             •   If p now has only one child, repeat recursively with p in place of v. The
                 recursion can ripple all the way up to the root, leading to a decrease in the
                 number of levels.

Example: See Figure 5.25.

Weitere ähnliche Inhalte

Was ist angesagt? (7)

Red black trees presentation
Red black trees presentationRed black trees presentation
Red black trees presentation
 
Discrete mathematics
Discrete mathematicsDiscrete mathematics
Discrete mathematics
 
Red Black Trees
Red Black TreesRed Black Trees
Red Black Trees
 
Red black tree
Red black treeRed black tree
Red black tree
 
Red black tree
Red black treeRed black tree
Red black tree
 
Lesson 1 3 exponents
Lesson 1 3 exponentsLesson 1 3 exponents
Lesson 1 3 exponents
 
Laws of exponents complete
Laws of exponents   completeLaws of exponents   complete
Laws of exponents complete
 

Andere mochten auch (7)

2-3 Tree
2-3 Tree2-3 Tree
2-3 Tree
 
2 3 tree
2 3 tree2 3 tree
2 3 tree
 
2 - 3 Trees
2 - 3 Trees2 - 3 Trees
2 - 3 Trees
 
2 3 tree
2 3 tree2 3 tree
2 3 tree
 
Intracellular highways in the plants: the role of the cytoskeleton in camv i...
Intracellular highways in the plants:  the role of the cytoskeleton in camv i...Intracellular highways in the plants:  the role of the cytoskeleton in camv i...
Intracellular highways in the plants: the role of the cytoskeleton in camv i...
 
Plant virus
Plant virusPlant virus
Plant virus
 
Cauliflower mosaic virus
Cauliflower mosaic virusCauliflower mosaic virus
Cauliflower mosaic virus
 

Ähnlich wie 23 Tree Best Part

Pattern_avoidance_in_ternary_trees
Pattern_avoidance_in_ternary_treesPattern_avoidance_in_ternary_trees
Pattern_avoidance_in_ternary_trees
Nathan Gabriel
 
Advanced data structures and implementation
Advanced data structures and implementationAdvanced data structures and implementation
Advanced data structures and implementation
Umang Gupta
 

Ähnlich wie 23 Tree Best Part (20)

Trees ayaz
Trees ayazTrees ayaz
Trees ayaz
 
Pattern_avoidance_in_ternary_trees
Pattern_avoidance_in_ternary_treesPattern_avoidance_in_ternary_trees
Pattern_avoidance_in_ternary_trees
 
Module - 5_Trees.pdf
Module - 5_Trees.pdfModule - 5_Trees.pdf
Module - 5_Trees.pdf
 
Advanced data structures and implementation
Advanced data structures and implementationAdvanced data structures and implementation
Advanced data structures and implementation
 
Tree
TreeTree
Tree
 
7 chapter4 trees_binary
7 chapter4 trees_binary7 chapter4 trees_binary
7 chapter4 trees_binary
 
Binary tree
Binary treeBinary tree
Binary tree
 
binary tree.pptx
binary tree.pptxbinary tree.pptx
binary tree.pptx
 
My Presentation on Row Sums of Calkin-Wilf Trees
My Presentation on Row Sums of Calkin-Wilf TreesMy Presentation on Row Sums of Calkin-Wilf Trees
My Presentation on Row Sums of Calkin-Wilf Trees
 
358 33 powerpoint-slides_10-trees_chapter-10
358 33 powerpoint-slides_10-trees_chapter-10358 33 powerpoint-slides_10-trees_chapter-10
358 33 powerpoint-slides_10-trees_chapter-10
 
Tree
TreeTree
Tree
 
Lecture 5 tree.pptx
Lecture 5 tree.pptxLecture 5 tree.pptx
Lecture 5 tree.pptx
 
BINARY TREE REPRESENTATION.ppt
BINARY TREE REPRESENTATION.pptBINARY TREE REPRESENTATION.ppt
BINARY TREE REPRESENTATION.ppt
 
Chapter 8 ds
Chapter 8 dsChapter 8 ds
Chapter 8 ds
 
Data structures 3
Data structures 3Data structures 3
Data structures 3
 
Tree.pptx
Tree.pptxTree.pptx
Tree.pptx
 
Unit 3 Tree chapter 5
Unit 3  Tree chapter 5Unit 3  Tree chapter 5
Unit 3 Tree chapter 5
 
Trees
TreesTrees
Trees
 
Btree
BtreeBtree
Btree
 
Data structures
Data structuresData structures
Data structures
 

Mehr von vikram singh

Mehr von vikram singh (20)

Agile
AgileAgile
Agile
 
Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2Enterprise java beans(ejb) Update 2
Enterprise java beans(ejb) Update 2
 
Web tech importants
Web tech importantsWeb tech importants
Web tech importants
 
Enterprise Java Beans( E)
Enterprise  Java  Beans( E)Enterprise  Java  Beans( E)
Enterprise Java Beans( E)
 
Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2Enterprise java beans(ejb) update 2
Enterprise java beans(ejb) update 2
 
Enterprise java beans(ejb)
Enterprise java beans(ejb)Enterprise java beans(ejb)
Enterprise java beans(ejb)
 
2 4 Tree
2 4 Tree2 4 Tree
2 4 Tree
 
JSP Scope variable And Data Sharing
JSP Scope variable And Data SharingJSP Scope variable And Data Sharing
JSP Scope variable And Data Sharing
 
Bean Intro
Bean IntroBean Intro
Bean Intro
 
jdbc
jdbcjdbc
jdbc
 
Sax Dom Tutorial
Sax Dom TutorialSax Dom Tutorial
Sax Dom Tutorial
 
Xml
XmlXml
Xml
 
Dtd
DtdDtd
Dtd
 
Xml Schema
Xml SchemaXml Schema
Xml Schema
 
JSP
JSPJSP
JSP
 
Request dispatching in servlet
Request dispatching in servletRequest dispatching in servlet
Request dispatching in servlet
 
Servlet Part 2
Servlet Part 2Servlet Part 2
Servlet Part 2
 
Tutorial Solution
Tutorial SolutionTutorial Solution
Tutorial Solution
 
Java Script Language Tutorial
Java Script Language TutorialJava Script Language Tutorial
Java Script Language Tutorial
 
Web Tech Java Servlet Update1
Web Tech   Java Servlet Update1Web Tech   Java Servlet Update1
Web Tech Java Servlet Update1
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

23 Tree Best Part

  • 1. 5.3 2-3 Trees Definition • A 2-3 Tree is a null tree (zero nodes) or a single node tree (only one node) or a multiple node tree with the following properties: 1. Each interior node has two or three children 2. Each path from the root to a leaf has the same length. Fields of a Node : Internal Node p1 k1 p2 k2 p3 p1 : Pointer to the first child p2 : Pointer to the second child p3 : Pointer to the third child k1 : Smallest key that is a descendent of the second child k2 : Smallest key that is a descendent of the third child Leaf Node key other fields Records are placed at the leaves. Each leaf contains a record (and key) Example: See Figure 5.23 Figure 5.23: An example of a 2-3 tree
  • 2. Search • The values recorded at the internal nodes can be used to guide the search path. • To search for a record with key value x, we first start at the root. Let k1 and k2 be the two values stored here. 1. If x < k1, move to the first child 2. If x k1 and the node has only two children, move to the second child 3. If x k1 and the node has three children, move to the second child if x < k2 and to the third child if x k2. • Eventually, we reach a leaf. x is in the tree iff x is at this leaf. Path Lengths • A 2-3 Tree with k levels has between 2k - 1 and 3k - 1 leaves • Thus a 2-3 tree with n elements (leaves) requires at least 1 + log3n levels at most 1 + log2n levels 5.3.1 2-3 Trees: Insertion For an example, see Figure 5.24.
  • 3. Figure 5.24: Insertion in 2-3 trees: An example Figure 5.25: Deletion in 2-3 trees: An Example
  • 4.
  • 5. Insert (x) 1. Locate the node v, which should be the parent of x 2. If v has two children, • make x another child of v and place it in the proper order • adjust k1 and k2 at node v to reflect the new situation 3. If v has three children, • split v into two nodes v and v'. Make the two smallest among four children stay with v and assign the other two as children of v'. • Recursively insert v' among the children of w where w = parent of v • The recursive insertion can proceed all the way up to the root, making it necessary to split the root. In this case, create a new root, thus increasing the number of levels by 1. 5.3.2 2-3 Trees: Deletion Delete (x) 1. Locate the leaf L containing x and let v be the parent of L 2. Delete L. This may leave v with only one child. If v is the root, delete v and let its lone child become the new root. This reduces the number of levels by 1. If v is not the root, let p = parent of v If p has a child with 3 children, transfer an appropriate one to vif this child is adjacent (sibling) to v. If children of p adjacent to v have only two children, transfer the lone child of v to an adjacent sibling of v and delete v. • If p now has only one child, repeat recursively with p in place of v. The recursion can ripple all the way up to the root, leading to a decrease in the number of levels. Example: See Figure 5.25.