> For the complete documentation index, see [llms.txt](https://blog.sunilgudivada.dev/notebook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.sunilgudivada.dev/notebook/data-structures-and-algorithms/topics/binary-search-tree/2-3-tree/insert-operation-2-3-tree.md).

# Insert Operation - 2-3 Tree

## Insert into 2-node at bottom

* Search for key as usual
* Replace 2-node with 3-node

![](/files/wnUUty7cN4ypGnYzc1oA)

![](/files/9OYri7oJxE502H25EGWt)

![](/files/Zv729qV0mN3SyDAruUnZ)

![](/files/vzXcWHj6U5oO5F3UEw8z)

## Insert into 3-node at bottom

* Add new key to 3-node to make it to 4-node
* Move middle key of 4-node to parent
* Repeat up the tree as necessary
* if you reach the root, and it is 4-node then split it into three 2-nodes.

![](/files/UEoyL3Hz5hXAAmMHwjGX)

![](/files/BkX33BuOhMVwXHLaBdVJ)

![](/files/uiv9R1hpfz73jyM5adcc)

## Root Having 3-node

![](/files/wWnHM2XvoZ4hfOBldDnx)

![](/files/HfPxZZ6I3W3x4Nf8AMGh)

![](/files/gmJrPVlFwUtxT6mTbGWF)
