Welcome to the Python Mastery Challenge! In this challenge, i will follow the roadmap provided by roadmap.sh to further enhance my Python skills and become a master in the language. The challenge is designed to help me reinforce my existing knowledge while exploring advanced topics and best practices in Python.The key to mastering Python is practice and hands-on experience. I will allocate dedicated time to work on each section of the roadmap, completing exercises, and building projects. I will append my learning in this readme file sorted by days.
-
- Heap is a complete binary tree satisfying the heap property: max heap (parent > child) or min heap (parent < child).
- Key applications include priority queues, Dijkstra's algorithm, and heap sort.
-
- Heapify: Convert binary tree to a heap (max or min).
- Insert: Add an element to the heap and maintain the heap property.
- Delete: Remove an element from the heap and rearrange to maintain the heap property.
- Peek: Get the maximum/minimum element without removing it.
- Extract-Max/Min: Get and remove the maximum/minimum element from the heap.
-
- Collection of min heap-ordered trees with efficient operations.
- Supports union, insert, extract min, decrease key, and delete node operations.
-
- Implemented Fibonacci Heap and tested insertion, extract min operations.
-
- Decreases a key's value to a lower one.
- Utilizes functions like Decrease Key, Cut, and Cascading-Cut to maintain the heap's properties.
-
- Explored examples of decreasing keys from 46 to 15 and 35 to 5, demonstrating the Cut and Cascading-Cut operations.
-
- Utilizes decrease-key and extract-min operations to remove a given node from the heap.
-
- Implemented Fibonacci Heap and tested operations with example elements.
-
- Decrease Key: O(1)
- Delete Node: O(log n)
-
- Nodes: Entities with key/value and pointers to child nodes.
- Edges: Links between nodes.
- Root: Topmost node.
- Height of a Node: Number of edges to deepest leaf.
- Depth of a Node: Number of edges from root to node.
- Height of a Tree: Height of root or depth of deepest node.
- Degree of a Node: Total branches of a node.
- Forest: Collection of disjoint trees.
-
- Binary Search Trees (BSTs) for quick element presence check.
- Heap for heap sort.
- Tries in modern routers for routing info.
- Popular databases use B-Trees and T-Trees for data storage.
- Compilers use syntax trees for program validation.
-
- 1οΈβ£ Inorder: Left subtree β‘οΈ Root β‘οΈ Right subtree.
- 2οΈβ£ Preorder: Root β‘οΈ Left subtree β‘οΈ Right subtree.
- 3οΈβ£ Postorder: Left subtree β‘οΈ Right subtree β‘οΈ Root.
-
Here is the link of the design - https://www.figma.com/file/pse0oHpCz5vOCgnvj4QPxG/Downloadify?type=design&node-id=0%3A1&mode=design&t=KNRLIoR4cPq7U6Zd-1