diff --git a/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/101-linked-lists.md b/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/101-linked-lists.md index ff851904f..1a6d0c52f 100644 --- a/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/101-linked-lists.md +++ b/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/101-linked-lists.md @@ -6,3 +6,4 @@ Learn more from the following links: - [@article@Linked List Explained: from Basics to Advanced](https://www.freecodecamp.org/news/how-linked-lists-work/) - [@video@Introduction To Linked List](https://youtu.be/Nq7ok-OyEpg?si=xttaGoYKcoJ09Ln2) +- [@video@Python Linked List](https://www.youtube.com/watch?v=qp8u-frRAnU&list=PLeo1K3hjS3uu_n_a__MI_KktGTLYopZ12&index=4&ab_channel=codebasics) diff --git a/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/102-stacks.md b/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/102-stacks.md index 2029d5195..c29b63a93 100644 --- a/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/102-stacks.md +++ b/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/102-stacks.md @@ -8,4 +8,11 @@ A **stack** is a linear data structure that follows a particular order in which 3. **Peek** or **Top**: returns the top item without removing it from the stack. -The basic principle of stack operation is that in a stack, the element that is added last is the first one to come off, thus the name "Last in First Out". \ No newline at end of file +The basic principle of stack operation is that in a stack, the element that is added last is the first one to come off, thus the name "Last in First Out". + +Learn more from the following links: + +- [@video@Stacks](https://www.youtube.com/watch?v=GYptUgnIM_I&list=PLgUwDviBIf0p4ozDR_kJJkONnb1wdx2Ma&index=69&ab_channel=takeUforward) +- [@video@Stack Data Structure Tutorial](https://www.youtube.com/watch?v=O1KeXo8lE8A) +- [@video@Python Stacks](https://www.youtube.com/watch?v=zwb3GmNAtFk) +- [@article@Leetcode](https://leetcode.com/problems/valid-parentheses/) diff --git a/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/103-queues.md b/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/103-queues.md index f2d66a79f..75b6b828b 100644 --- a/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/103-queues.md +++ b/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/103-queues.md @@ -1,3 +1,8 @@ # Queues -Queues are a type of data structure in which elements are held in a sequence and access is restricted to one end. Elements are added ("enqueued") at the rear end and removed ("dequeued") from the front. This makes queues a First-In, First-Out (FIFO) data structure. This type of organization is particularly useful for specific situations such as printing jobs, handling requests in a web server, scheduling tasks in a system, etc. Due to its FIFO property, once a new element is inserted into the queue, all elements that were inserted before the new element must be removed before the new element can be invoked. The fundamental operations associated with queues include Enqueue (insert), Dequeue (remove) and Peek (get the top element). \ No newline at end of file +Queues are a type of data structure in which elements are held in a sequence and access is restricted to one end. Elements are added ("enqueued") at the rear end and removed ("dequeued") from the front. This makes queues a First-In, First-Out (FIFO) data structure. This type of organization is particularly useful for specific situations such as printing jobs, handling requests in a web server, scheduling tasks in a system, etc. Due to its FIFO property, once a new element is inserted into the queue, all elements that were inserted before the new element must be removed before the new element can be invoked. The fundamental operations associated with queues include Enqueue (insert), Dequeue (remove) and Peek (get the top element). + +Learn more from the following links: + +- [@video@Queue](https://www.youtube.com/watch?v=GYptUgnIM_I) +- [@video@Python Queue](https://www.youtube.com/watch?v=rUUrmGKYwHw diff --git a/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/104-hash-tables.md b/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/104-hash-tables.md index 5b55186fc..4140c9299 100644 --- a/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/104-hash-tables.md +++ b/src/data/roadmaps/datastructures-and-algorithms/content/103-basic-data-structures/104-hash-tables.md @@ -1,3 +1,10 @@ # Hash Tables -`Hash Tables` are specialized data structures that allow fast access to data based on a key. Essentially, a hash table works by taking a key input, and then computes an index into an array in which the desired value can be found. It uses a hash function to calculate this index. Suppose the elements are integers and the hash function returns the value at the unit's place. If the given key is 22, it will check the value at index 2. Collisions occur when the hash function returns the same output for two different inputs. There are different methods to handle these collisions such as chaining and open addressing. \ No newline at end of file +`Hash Tables` are specialized data structures that allow fast access to data based on a key. Essentially, a hash table works by taking a key input, and then computes an index into an array in which the desired value can be found. It uses a hash function to calculate this index. Suppose the elements are integers and the hash function returns the value at the unit's place. If the given key is 22, it will check the value at index 2. Collisions occur when the hash function returns the same output for two different inputs. There are different methods to handle these collisions such as chaining and open addressing. + +Learn more from the following links: + +- [@video@Hash Table](https://www.youtube.com/watch?v=KEs5UyBJ39g&ab_channel=takeUforward) +- [@video@Python Hash Table Part 1](https://www.youtube.com/watch?v=ea8BRGxGmlA) +- [@video@Python Hash Table Part 2](https://www.youtube.com/watch?v=54iv1si4YCM) +