diff --git a/src/data/roadmaps/python/content/arrays-and-linked-lists@OPD4WdMO7q4gRZMcRCQh1.md b/src/data/roadmaps/python/content/arrays-and-linked-lists@OPD4WdMO7q4gRZMcRCQh1.md index 6c7be3f4f..e5c0f1037 100644 --- a/src/data/roadmaps/python/content/arrays-and-linked-lists@OPD4WdMO7q4gRZMcRCQh1.md +++ b/src/data/roadmaps/python/content/arrays-and-linked-lists@OPD4WdMO7q4gRZMcRCQh1.md @@ -1 +1,10 @@ -# Arrays and Linked Lists \ No newline at end of file +# Arrays and Linked lists + +Arrays store elements in contiguous memory locations, resulting in easily calculable addresses for the elements stored and this allows faster access to an element at a specific index. Linked lists are less rigid in their storage structure and elements are usually not stored in contiguous locations, hence they need to be stored with additional tags giving a reference to the next element. This difference in the data storage scheme decides which data structure would be more suitable for a given situation. + +Visit the following resources to learn more: + +- [@article@Arrays in Python](https://www.edureka.co/blog/arrays-in-python/) +- [@article@Linked List Python](https://realpython.com/linked-lists-python/) +- [@video@Array Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=QJNwK2uJyGs) +- [@video@Linked List Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=odW9FU8jPRQ) diff --git a/src/data/roadmaps/python/content/binary-search-tree@uJIqgsqUbE62Tyo3K75Qx.md b/src/data/roadmaps/python/content/binary-search-tree@uJIqgsqUbE62Tyo3K75Qx.md index 3c6b6a02d..b04e57653 100644 --- a/src/data/roadmaps/python/content/binary-search-tree@uJIqgsqUbE62Tyo3K75Qx.md +++ b/src/data/roadmaps/python/content/binary-search-tree@uJIqgsqUbE62Tyo3K75Qx.md @@ -1 +1,9 @@ -# Binary Search Tree \ No newline at end of file +# Binary Search Trees + +A binary search tree, also called an ordered or sorted binary tree, is a rooted binary tree data structure with the key of each internal node being greater than all the keys in the respective node's left subtree and less than the ones in its right subtree + +Visit the following resources to learn more: + +- [@video@Tree Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU) +- [@article@How to Implement Binary Search Tree in Python](https://web.archive.org/web/20230601181553/https://www.section.io/engineering-education/implementing-binary-search-tree-using-python/) +- [@article@Binary Search Tree in Python](https://www.pythonforbeginners.com/data-structures/binary-search-tree-in-python) diff --git a/src/data/roadmaps/python/content/hash-tables@DG4fi1e5ec2BVckPLsTJS.md b/src/data/roadmaps/python/content/hash-tables@DG4fi1e5ec2BVckPLsTJS.md index 1002fa4da..02f01820d 100644 --- a/src/data/roadmaps/python/content/hash-tables@DG4fi1e5ec2BVckPLsTJS.md +++ b/src/data/roadmaps/python/content/hash-tables@DG4fi1e5ec2BVckPLsTJS.md @@ -1 +1,9 @@ -# Hash Tables \ No newline at end of file +# Hash Tables + +Hash Table, Map, HashMap, Dictionary or Associative are all the names of the same data structure. It is a data structure that implements a set abstract data type, a structure that can map keys to values. + +Visit the following resources to learn more: + +- [@article@Build a Hash Table in Python](https://realpython.com/python-hash-table/) +- [@article@Hash Tables and Hashmaps in Python](https://www.edureka.co/blog/hash-tables-and-hashmaps-in-python/) +- [@video@Hash Table Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=jalSiaIi8j4) diff --git a/src/data/roadmaps/python/content/heaps-stacks-and-queues@0NlRczh6ZEaFLlT6LORWz.md b/src/data/roadmaps/python/content/heaps-stacks-and-queues@0NlRczh6ZEaFLlT6LORWz.md index 8b8836b65..f4317e2a2 100644 --- a/src/data/roadmaps/python/content/heaps-stacks-and-queues@0NlRczh6ZEaFLlT6LORWz.md +++ b/src/data/roadmaps/python/content/heaps-stacks-and-queues@0NlRczh6ZEaFLlT6LORWz.md @@ -1 +1,16 @@ -# Heaps, Stacks and Queues \ No newline at end of file +# Heaps Stacks and Queues + +**Stacks:** Operations are performed LIFO (last in, first out), which means that the last element added will be the first one removed. A stack can be implemented using an array or a linked list. If the stack runs out of memory, it’s called a stack overflow. + +**Queue:** Operations are performed FIFO (first in, first out), which means that the first element added will be the first one removed. A queue can be implemented using an array. + +**Heap:** A tree-based data structure in which the value of a parent node is ordered in a certain way with respect to the value of its child node(s). A heap can be either a min heap (the value of a parent node is less than or equal to the value of its children) or a max heap (the value of a parent node is greater than or equal to the value of its children). + +Visit the following resources to learn more: + +- [@article@Heaps, Stacks, Queues](https://stephanosterburg.gitbook.io/scrapbook/coding/coding-interview/data-structures/heaps-stacks-queues) +- [@video@Stack Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=I5lq6sCuABE) +- [@video@Queue Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=mDCi1lXd9hc) +- [@article@How to Implement Python Stack?](https://realpython.com/how-to-implement-python-stack/) +- [@article@Python Stacks, Queues, and Priority Queues in Practice](https://realpython.com/queue-in-python/) +- [@article@Heap Implementation in Python](https://www.educative.io/answers/heap-implementation-in-python) diff --git a/src/data/roadmaps/python/content/recursion@kLBgy_nxxjE8SxdVi04bq.md b/src/data/roadmaps/python/content/recursion@kLBgy_nxxjE8SxdVi04bq.md index a27651655..e44fc460d 100644 --- a/src/data/roadmaps/python/content/recursion@kLBgy_nxxjE8SxdVi04bq.md +++ b/src/data/roadmaps/python/content/recursion@kLBgy_nxxjE8SxdVi04bq.md @@ -1 +1,8 @@ -# Recursion \ No newline at end of file +# Recursion + +Recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances of the same problem. Recursion solves such recursive problems by using functions that call themselves from within their own code. + +Visit the following resources to learn more: + +- [@article@Recursion in Python: An Introduction](https://realpython.com/python-recursion/) +- [@feed@Explore top posts about Recursion](https://app.daily.dev/tags/recursion?ref=roadmapsh) diff --git a/src/data/roadmaps/python/content/sorting-algorithms@vvTmjcWCVclOPY4f_5uB0.md b/src/data/roadmaps/python/content/sorting-algorithms@vvTmjcWCVclOPY4f_5uB0.md index e86533244..07f5df63f 100644 --- a/src/data/roadmaps/python/content/sorting-algorithms@vvTmjcWCVclOPY4f_5uB0.md +++ b/src/data/roadmaps/python/content/sorting-algorithms@vvTmjcWCVclOPY4f_5uB0.md @@ -1 +1,9 @@ -# Sorting Algorithms \ No newline at end of file +# Sorting Algorithms + +Sorting refers to arranging data in a particular format. Sorting algorithm specifies the way to arrange data in a particular order. Most common orders are in numerical or lexicographical order. The importance of sorting lies in the fact that data searching can be optimized to a very high level, if data is stored in a sorted manner. + +Visit the following resources to learn more: + +- [@article@Sorting Algorithms in Python](https://realpython.com/sorting-algorithms-python/) +- [@article@Python - Sorting Algorithms](https://www.tutorialspoint.com/python_data_structure/python_sorting_algorithms.htm) +- [@feed@Explore top posts about Algorithms](https://app.daily.dev/tags/algorithms?ref=roadmapsh)