Built with a corrective RAG context and the ability to understand and answer based on the context. Added a chapter from the book “Introduction to Algorithms”.
- Created embeddings and stored in vector DB.
- Test the generated answer with respect to relevance and hallucinations. If not relevant or hallucinating then re-write the prompt to generate a more appropriate answer. This self-reflection technique is also called Corrective RAG or Corrective Self RAG.
- Created LangGraph to get the answers.
Table of Contents
Some snapshots of the working model
Program flow (CRAG Architecture)
LangGraph design
A detailed 4 hour study plan when one can allocate 2 hours per day!
Study Planner based on context Based on the topics from the book, here’s a detailed 4-day study plan with 2 hours per day for a total of 8 hours: ### Day 1: Introduction and Basic Concepts 1. **Introduction to Binary Search Trees (BST)** – Definition and Properties – Use cases and applications 2. **Basic Operations** – Search – Insertion – Deletion **Time Allocation:** – Introduction to BST: 30 minutes – Search Operation: 30 minutes – Insertion Operation: 30 minutes – Deletion Operation: 30 minutes ### Day 2: Traversal Techniques and Balanced Trees 1. **Tree Traversal Methods** – In-order Traversal – Pre-order Traversal – Post-order Traversal 2. **Balanced Trees** – AVL Trees – Red-Black Trees **Time Allocation:** – In-order Traversal: 30 minutes – Pre-order Traversal: 30 minutes – Post-order Traversal: 30 minutes – AVL Trees: 30 minutes ### Day 3: Advanced Concepts and Analysis 1. **Advanced Operations** – Finding Minimum and Maximum – Successor and Predecessor 2. **Complexity Analysis** – Time Complexity of Operations – Space Complexity **Time Allocation:** – Finding Minimum and Maximum: 30 minutes – Successor and Predecessor: 30 minutes – Time Complexity Analysis: 30 minutes – Space Complexity Analysis: 30 minutes ### Day 4: Applications and Problem-Solving 1. **Real-world Applications** – Databases – File Systems – Network Routing 2. **Problem-Solving Session** – Practice Problems – Common Interview Questions **Time Allocation:** – Real-world Applications: 30 minutes – Practice Problems: 60 minutes – Common Interview Questions: 30 minutes This plan covers the essential topics and provides practice time to solidify your understanding. Feel free to adjust the time allocations based on your comfort with each topic.Query 3: “Thanks! Can you create a cheat sheet for traversal mechanisms”
Binary Search Tree Traversal Mechanisms
1. Preorder Traversal
- Description: In a preorder traversal, the nodes are recursively visited in this order: root, left subtree, right subtree.
- Algorithm:
- Visit the root node.
- Traverse the left subtree in preorder.
- Traverse the right subtree in preorder.
- Example:
1 / \ 2 3 / \ 4 5
Preorder traversal of the above tree: 1, 2, 4, 5, 3
2. Inorder Traversal
- Description: In an inorder traversal, the nodes are recursively visited in this order: left subtree, root, right subtree. This traversal prints the nodes in non-decreasing order.
- Algorithm:
- Traverse the left subtree in inorder.
- Visit the root node.
- Traverse the right subtree in inorder.
- Example:
1 / \ 2 3 / \ 4 5
Inorder traversal of the above tree: 4, 2, 5, 1, 3
3. Postorder Traversal
- Description: In a postorder traversal, the nodes are recursively visited in this order: left subtree, right subtree, root.
- Algorithm:
- Traverse the left subtree in postorder.
- Traverse the right subtree in postorder.
- Visit the root node.
- Example:
1 / \ 2 3 / \ 4 5
Postorder traversal of the above tree: 4, 5, 2, 3, 1
4. Level Order Traversal
- Description: In a level order traversal, the nodes are visited level by level from top to bottom and from left to right within each level.
- Algorithm:
- Use a queue to keep track of nodes at each level.
- Start with the root node and enqueue it.
- While the queue is not empty, dequeue a node, visit it, and then enqueue its left and right children.
- Example:
1 / \ 2 3 / \ 4 5
Level order traversal of the above tree: 1, 2, 3, 4, 5
This cheat sheet covers the basic traversal mechanisms for binary search trees, providing a clear and concise reference for each type of traversal.
Langsmith snapshots
References
I used some of the examples in Langgraph to design this https://github.com/langchain-ai/langgraph/tree/main/examples