Skip to content

Commit aa6de42

Browse files
committed
docs(readme): update root README to include binary search tree project
1 parent 8a10150 commit aa6de42

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

README.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
# 🧠 Algorithm Practice: Recursion, Sorting, Linked List & HashMap
1+
# 🧠 Algorithm Practice: Recursion, Sorting, Linked List, HashMap & BST
22

33
This project contains fundamental algorithm and data structure implementations, done as part of [The Odin Project](https://www.theodinproject.com/) curriculum.
44

5-
It focuses on **recursive thinking**, **sorting**, **linked lists**, and now also includes a complete custom-built **hash map** with resizing and collision handling.
5+
It focuses on **recursive thinking**, **sorting**, **linked lists**, **hash maps**, and now includes a fully-featured **binary search tree** with balance and traversal operations.
66

77
---
88

99
## 📂 Files
10+
1011
```
1112
algo-practice/
1213
├── recursion/
@@ -23,6 +24,12 @@ algo-practice/
2324
│ ├── hashMap.js
2425
│ ├── test.js
2526
│ └── README.md
27+
├── binary-search-tree/
28+
│ ├── Node.js
29+
│ ├── Tree.js
30+
│ ├── driver.js
31+
│ ├── prettyPrint.js
32+
│ └── README.md
2633
└── README.md
2734
```
2835

@@ -47,6 +54,17 @@ algo-practice/
4754
- Methods like `set`, `get`, `has`, `remove`, `clear`, `keys`, `values`, `entries`
4855
- Notes + test cases included
4956
➡️ [View detailed HashMap README →](./hashmap/README.md)
57+
58+
### 🌳 `binary-search-tree/`
59+
- `Node.js` and `Tree.js` → Fully-featured **Balanced BST** implementation
60+
- `buildTree()` builds a balanced tree from sorted unique array
61+
- Supports:
62+
- `insert()`, `deleteItem()`, `find()`
63+
- `height()`, `depth()`, `isBalanced()`, `rebalance()`
64+
- Traversals: `inOrder`, `preOrder`, `postOrder`, `levelOrder` with callbacks
65+
- Includes a `prettyPrint()` visualizer and `driver.js` demo
66+
➡️ [View detailed BST README →](./binary-search-tree/README.md)
67+
5068
---
5169

5270
## 🚀 Sample Inputs & Outputs
@@ -74,8 +92,9 @@ mergeSort([105, 79, 100, 110]);
7492
## 🧩 What I Learned
7593

7694
- The difference between iterative vs recursive solutions.
77-
- How to build data structures from scratch — LinkedList and HashMap.
95+
- How to build data structures from scratch — LinkedList, HashMap, BST.
7896
- Handling collisions and resizing logic in hash-based storage.
97+
- Balancing and traversing binary search trees efficiently.
7998
- The importance of clear, testable, modular code.
8099
- How lower-level data structures power high-level abstractions.
81100

@@ -84,5 +103,4 @@ mergeSort([105, 79, 100, 110]);
84103
## 📄 License
85104
This project is for educational purposes under the [MIT License](LICENSE).
86105

87-
88106
---

0 commit comments

Comments
 (0)