Title

Hands-On Data Structures

Hands on Implementation / Coding with Data Structures

4.53 (20 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
Hands-On Data Structures
8 903
students
34 hours
content
Aug 2024
last update
$19.99
regular price

What you will learn

Data Structures programming,

Why take this course?

It looks like you've provided an extensive list of data structures and algorithms topics that are commonly covered in computer science courses, particularly those related to data structures. Here's a brief overview of each topic based on the list you've provided, which can be expanded upon if needed:

Queues (Implementation / Coding)

  • Queue Overview: A Queue is a collection of entities that are maintained in a specific order and can be modified by adding elements to one end called the rear, and removing them from the other end called the front.
  • Queue using Array: Implementing a queue using an array where enqueue adds elements to the end and dequeue removes from the beginning.
  • Priority Queue with Array: A priority queue is an abstract data type similar to a regular queue or stack, but with the additional property that each element has a "priority" associated with it. The highest priority item is always removed by every removal operation.
  • Queue using Linked List: A linked list can be more efficient for queues because it can easily grow and shrink as elements are added and removed without the need to resize an array.
  • Priority Queue using Double Linked List: A double-linked list can be used to implement a max/min priority queue by keeping track of the items' priorities.

Recursion

  • Recursion Overview, Phases, Types: Recursion is a method of defining functions in which the function calls itself. Understanding base cases and recursive cases is crucial for solving recursive problems.
  • Recursive Functions: Solving problems using recursion instead of iteration.
  • Linked List operations using Recursion: Performing operations like finding the nth node, reversing, or counting nodes in a linked list through recursion.

Trees

  • Binary Trees: A tree data structure in which each node has at most two children.
  • Tree Traversals (Inorder, Preorder, Postorder): Different ways to visit all the nodes in a binary tree, with applications such as sorting the elements of a binary search tree.
  • Binary Search Trees (BST): A tree data structure in which each node has a key that is greater than all keys in its left subtree and less than all keys in its right subtree.
    • Insertion: Adding new nodes to the BST.
    • Traversals: Visiting all nodes in a specific order to achieve sorting.
    • Search: Finding an element within a BST.
    • Deletion: Removing nodes from a BST and handling various cases that may arise.
  • BST to Tree Conversion: Transforming one type of tree into another.

Hashing, Collision Resolution

  • Hashing: A technique to store and retrieve data in a key-value pair format using hash tables.
  • Hash Functions: Algorithms that map keys to indices in the table.
  • Collision Resolution: Dealing with situations where two or more keys hash to the same index.
  • Open Addressing (Closed Hashing): A method of resolving collisions by searching for an empty slot within the hash table.
  • Probing: A family of collision resolution techniques for hashing that involve looking at elements away from the initial hash position.
    • Linear, Quadratic, Double hashing: Different probing strategies.
  • Load factor of Hash Table: The ratio of the number of entries to the number of buckets.
  • Separate Chaining (Open Hashing): A technique that resolves collisions by using linked lists or other list data structures.
  • Cuckoo Hashing: An approach to hash table design where each element is stored in one of two possible arrays, and in the event of a collision, the element is placed in the alternative array.

Lexicographic Order (Lexical Order)

  • Overview: A systematic representation that follows an ordering of words or symbols.
  • Previous/Next Permutation: Finding the previous or next permutation in lexicographical order of a given sequence of n distinct integers.

Other Algorithms and Concepts

  • BFS (Breadth First Search) and DFS (Depth First Search): Traversal methods for graphs that are used to find paths, connected components, cycles, etc.
  • Spanning tree: A subset of the edges of a given undirected graph that is a tree and includes every vertex of the graph exactly once.
  • Dijkstra Shortest Path Algorithm: An algorithm for finding the shortest paths between nodes in a graph.
  • Minimum Spanning Tree (MST): A subset of the edges of a connected, edge-weighted undirected graph that connects all the vertices together without any cycles and with the minimum possible total edge weight.
  • Dijkstra vs. MST: Both algorithms are used to find shortest paths but Dijkstra is for finding shortest paths from a single source to all other nodes, while MSTs are about connecting all points in the cheapest way possible.

Each of these topics can be expanded with more detailed explanations, code examples, and real-world applications. If you need deeper insights or assistance with any specific topic, feel free to ask!

Screenshots

Hands-On Data Structures - Screenshot_01Hands-On Data Structures - Screenshot_02Hands-On Data Structures - Screenshot_03Hands-On Data Structures - Screenshot_04

Charts

Price

Hands-On Data Structures - Price chart

Rating

Hands-On Data Structures - Ratings chart

Enrollment distribution

Hands-On Data Structures - Distribution chart

Coupons

DateDiscountStatus
30/07/2021100% OFF
expired
20/03/2024100% OFF
expired

Related Topics

4125068
udemy ID
15/06/2021
course created date
20/06/2021
course indexed date
Bot
course submited by