From 64e9abd20a9a15e157273e53ce78ceb17f0e0ce8 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 7 Nov 2022 16:49:37 +0400 Subject: [PATCH] Add resources for queue, hash, tree and heap data structures --- .../content/102-data-structures/103-queue.md | 7 +++++++ .../content/102-data-structures/104-hash-table.md | 15 ++++++++++++++- .../105-tree/100-binary-tree.md | 7 ++++++- .../105-tree/101-binary-search-tree.md | 15 ++++++++++++++- .../105-tree/102-full-binary-tree.md | 8 +++++++- .../105-tree/103-complete-binary-tree.md | 8 +++++++- .../105-tree/104-balanced-tree.md | 7 ++++++- .../105-tree/105-unbalanced-tree.md | 7 ++++++- .../102-data-structures/105-tree/readme.md | 8 +++++++- .../content/102-data-structures/107-heap.md | 10 +++++++++- 10 files changed, 83 insertions(+), 9 deletions(-) diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/103-queue.md b/content/roadmaps/103-computer-science/content/102-data-structures/103-queue.md index 788c8b390..74fa74d78 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/103-queue.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/103-queue.md @@ -2,3 +2,10 @@ Queue is a linear collection of items where items are inserted and removed in a particular order. The queue is also called a FIFO Data Structure because it follows the "First In, First Out" principle i.e., the item that is inserted in the first is the one that is taken out first. +Free Content +Queue Data Structure | Illustrated Data Structures +Queue in 3 Minutes +Queues - Coursera +Circular Buffer - Wikipedia + + diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/104-hash-table.md b/content/roadmaps/103-computer-science/content/102-data-structures/104-hash-table.md index ecc38a2fb..1650112d2 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/104-hash-table.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/104-hash-table.md @@ -1 +1,14 @@ -# Hash table \ No newline at end of file +# Hash Table + +Hash Table, Map, HashMap, Dictionary or Associative are all the names of the same data structure. It is one of the most commonly used data structures. + +Free Content +Hash Table | Illustrated Data Structures +Hash Table in 4 Minutes +Hashing with Chaining +Table Doubling, Karp-Rabin +Open Addressing, Cryptographic Hashing +PyCon 2010: The Mighty Dictionary +PyCon 2017: The Dictionary Even Mightier +(Advanced) Randomization: Universal & Perfect Hashing +(Advanced) Perfect hashing diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/100-binary-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/100-binary-tree.md index 4d1b290b5..12e8f79de 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/100-binary-tree.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/100-binary-tree.md @@ -1 +1,6 @@ -# Binary tree \ No newline at end of file +# Binary Tree + +A binary tree is a tree data structure in which each node has at most two children, which are referred to as the left child and the right child. + +Binary Trees - Part 1 +Binary Trees - Part 2 diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md index ce4533ef8..d990f619b 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md @@ -1 +1,14 @@ -# Binary search tree \ No newline at end of file +# Binary Search Tree + +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. + +Free Content +Tree | Illustrated Data Structures +Binary Search Trees - Coursera +Binary Search Trees - MIT +Binary Search Tree Implementation in C++ +BST implementation - memory allocation in stack and heap +Find Min and Max Element in Binary Search Tree +Check if Given Tree is Binary Search Tree or Not +Delete an Element from Binary Search Tree +Inorder Successor in a binary search tree diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md index fdee16952..ffa3332b6 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md @@ -1 +1,7 @@ -# Full binary tree \ No newline at end of file +# Full Binary Tree + +A full Binary tree is a special type of binary tree in which every parent node/internal node has either two or no children. It is also known as a proper binary tree. + +Free Content +Full Binary Tree +Types of Binary Tree diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md index e46d1a140..337c9c631 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md @@ -1 +1,7 @@ -# Complete binary tree \ No newline at end of file +# Complete Binary Tree + +A complete binary tree is a special type of binary tree where all the levels of the tree are filled completely except the lowest level nodes which are filled from as left as possible. + +Free Content +Complete Binary Tree - Geeks for Geeks +Complete Binary Tree - Programiz diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/104-balanced-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/104-balanced-tree.md index da71d6e99..df933dd60 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/104-balanced-tree.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/104-balanced-tree.md @@ -1 +1,6 @@ -# Balanced tree \ No newline at end of file +# Balanced Tree + +A balanced binary tree, also referred to as a height-balanced binary tree, is defined as a binary tree in which the height of the left and right subtree of any node differ by not more than 1. + +Free Content +Balanced Binary Tree diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md index af0358419..31d0aaea5 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md @@ -1 +1,6 @@ -# Unbalanced tree \ No newline at end of file +# Unbalanced Tree + +An unbalanced binary tree is one that is not balanced. + +Free Content +Balanced Binary Tree diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/readme.md b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/readme.md index 13088447a..b2b31e90f 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/readme.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/105-tree/readme.md @@ -1 +1,7 @@ -# Tree \ No newline at end of file +# Tree + +A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value and a list of references to other nodes (the “children”). + +Free Content +Tree Data Structure - Geeks for Geeks +Tree | Illustrated Data Structures diff --git a/content/roadmaps/103-computer-science/content/102-data-structures/107-heap.md b/content/roadmaps/103-computer-science/content/102-data-structures/107-heap.md index c7883f289..389aa5d31 100644 --- a/content/roadmaps/103-computer-science/content/102-data-structures/107-heap.md +++ b/content/roadmaps/103-computer-science/content/102-data-structures/107-heap.md @@ -1 +1,9 @@ -# Heap \ No newline at end of file +# Heap + +Heap is a tree-based data structure that follows the properties of a complete binary tree and is either a Min Heap or a Max Heap. + +Free Content +Heap | Illustrated Data Structures +Priority Queue - Introduction +Heaps and Heap Sort +CS 61B Lecture 24: Priority Queues