Add content for data structures and algorithms

pull/1657/head
Kamran Ahmed 2 years ago
parent 9539fd9289
commit 82bbbd5b81
  1. 17
      content/roadmaps/107-python/content/101-data-structures-and-algorithms/100-arrays-linked-lists.md
  2. 19
      content/roadmaps/107-python/content/101-data-structures-and-algorithms/101-heaps-stacks-queues.md
  3. 10
      content/roadmaps/107-python/content/101-data-structures-and-algorithms/102-hash-tables.md
  4. 11
      content/roadmaps/107-python/content/101-data-structures-and-algorithms/103-binary-search-trees.md
  5. 7
      content/roadmaps/107-python/content/101-data-structures-and-algorithms/104-recursion.md
  6. 8
      content/roadmaps/107-python/content/101-data-structures-and-algorithms/readme.md

@ -1 +1,16 @@
# Arrays linked lists # 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/linked-list-vs-array/'>Linked Lists vs Arrays</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://towardsdatascience.com/a-complete-guide-to-linked-lists-in-python-c52b6cb005'>A Complete Guide to Linked Lists in Python</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/python-array-tutorial-define-index-methods/'>Python Array Tutorial</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/python-arrays/'>Python Arrays</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.edureka.co/blog/arrays-in-python/'>Arrays in Python</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=QJNwK2uJyGs'>Array Data Structure | Illustrated Data Structures</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=odW9FU8jPRQ'>Linked List Data Structure | Illustrated Data Structures</BadgeLink>

@ -1 +1,18 @@
# Heaps stacks queues # 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).
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://stephanosterburg.gitbook.io/scrapbook/coding/coding-interview/data-structures/heaps-stacks-queues'>Heaps, Stacks, Queues</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=I5lq6sCuABE'>Stack Data Structure | Illustrated Data Structures</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=mDCi1lXd9hc'>Queue Data Structure | Illustrated Data Structures</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/stack-in-python/'>Stack in Python</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://realpython.com/how-to-implement-python-stack/'>How to Implement Python Stack?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/queue-in-python/'>Queue in Python</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://realpython.com/queue-in-python/'>Python Stacks, Queues, and Priority Queues in Practice</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.educative.io/answers/heap-implementation-in-python'>Heap Implementation in Python</BadgeLink>

@ -1 +1,9 @@
# Hash tables # 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=jalSiaIi8j4'>Hash Table Data Structure | Illustrated Data Structures</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.edureka.co/blog/hash-tables-and-hashmaps-in-python/'>Hash Tables and Hashmaps in Python</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://realpython.com/python-hash-table/'>Build a Hash Table in Python</BadgeLink>

@ -1 +1,10 @@
# Binary search trees # 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
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=S2W3SXGPVyU'>Tree Data Structure | Illustrated Data Structures</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.boot.dev/computer-science/binary-search-tree-in-python/'>Writing a Binary Search Tree in Python with Examples</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.section.io/engineering-education/implementing-binary-search-tree-using-python/'>How to Implement Binary Search Tree in Python</BadgeLink>

@ -1 +1,8 @@
# Recursion # 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/recursion/'>Recursion in Python</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://realpython.com/python-recursion/'>Recursion in Python: An Introduction</BadgeLink>

@ -1 +1,7 @@
# Data structures and algorithms # Data Structures and Algorithms
A data structure is a named location that can be used to store and organize data. And, an algorithm is a collection of steps to solve a particular problem. Learning data structures and algorithms allow us to write efficient and optimized computer programs.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.programiz.com/dsa'>Learn DS & Algorithms</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/playlist?list=PLkZYeFmDuaN2-KUIv-mvbjfKszIGJ4FaY'>Data Structures Illustrated</BadgeLink>

Loading…
Cancel
Save