From 5a026cbd3754fdda5e2c29851384733ed293621e Mon Sep 17 00:00:00 2001 From: Sergey Shandar Date: Fri, 24 Jan 2025 13:12:47 -0800 Subject: [PATCH] Update rbtree.md --- notes/rbtree.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/notes/rbtree.md b/notes/rbtree.md index f19fcc5..2cedc5f 100644 --- a/notes/rbtree.md +++ b/notes/rbtree.md @@ -48,3 +48,28 @@ struct Node { right: Tree, } ``` + +## BTree + +```ts +type Root = Node | null +type Node = Leaf1 | Leaf2 | Node1 | Node2 +type Leaf1 = readonly[T] +type Leaf2 = readonly[T, T] +type Node1 = readonly[Node, T, Node] +type Node2 = eadonly[Node, T, Node, T, Node] +``` + +```rust +enum Node { + Leaf1(Leaf1), + Leaf2(Leaf2), + Node1(Node1), + Node2(Node2), +} + +struct Leaf1(T); +struct Leaf2(T,T); +struct Node1(&Node, T, &Node); +struct Node2(&Node, T, &Node, T, &Node); +```