Course Hive
Search

Welcome

Sign in or create your account

Continue with Google
or
Data Structures (Complete Course)
Play lesson

Data Structures and Algorithms Specialization (Complete Courses) - Data Structures (Complete Course)

Master the Building Blocks of Computer Science: Dive into Complete Courses on Algorithms & Data Structures!

4.0 (1)
16 learners

What you'll learn

Understand and apply fundamental algorithmic techniques to solve computational problems
Design and analyze data structures to efficiently manage and manipulate data
Utilize graph algorithms to address real-world network-related challenges
Develop and optimize complex algorithms for advanced computational tasks

This course includes

  • 33.5 hours of video
  • Certificate of completion
  • Access on mobile and TV

Summary

Keywords

Full Transcript

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments. This will help you to understand what is going on inside a particular built-in implementation of a data structure and what to expect from it. You will also learn typical use cases for these data structures. A few examples of questions that we are going to cover in this class are the following: 1. What is a good strategy of resizing a dynamic array? 2. How priority queues are implemented in C++, Java, and Python? 3. How to implement a hash table so that the amortized running time of all operations is O(1) on average? 4. What are good strategies to keep a binary tree balanced? ------------- TIME STAMP ------------- BASIC DATA STRUCTURES 0:00:00 Arrays 0:07:31 Singly-Linked Lists 0:16:33 Doubly-Linked Lists 0:21:12 Stacks 0:31:33 Queues 0:38:46 Trees 0:49:59 Tree Traversal DYNAMIC ARRAYS AND AMORTIZED ANALYSIS 1:00:25 Dynamic Arrays 1:08:58 Amortized Analysis Aggregate Method 1:14:41 Amortized Analysis Banker's Method 1:20:53 Amortized Analysis Physicist's Method 1:28:26 Amortized Analysis Summary PRIORITY QUEUES AND DISJOINT SETS 1:31:20 Introduction 1:37:27 Naive Implementations Priority Queues 1:43:25 Binary Trees 1:44:51 Basic Operations 1:57:33 Complete Binary Trees 2:07:00 Psuedocode 2:15:31 Heap Sort 2:26:29 Building a Heap 2:37:03 Final Remarks 2:41:05 Overview 2:48:47 Naive Implementations 2:58:49 Trees for Disjoint Sets 3:06:44 Union by Rank 3:16:26 Path Compression 3:22:33 Analysis (Optional) HASH TABLES 3:40:50 Application of Hashing 3:43:27 Analysing Service Access Logs 3:51:20 Direct Addressing 3:58:42 List-Based Mapping 4:06:53 Hash Functions 4:10:11 Chaining Scheme 4:16:19 Chaining Implementation and Analysis 4:22:19 Hash Tables 4:28:46 Phone Book Problem 4:33:03 Phone Book Problem - Continued 4:39:52 Universal Family 4:49:35 Hashing Integers 4:58:52 Proof Upper Bound for Chain Lengh (Optional) 5:07:36 Proof Universal Family for Integers (Optional) 5:19:16 Hashing Strings 5:28:50 Hashing Strings - Cardinality Fix 5:35:51 Search Pattern in Text 5:43:01 Rabin-Karp's Algorithm 5:52:46 Optimization Precomputation 6:02:11 Optimization Implementation and Analysis 6:08:09 Instant Uploads and Storage Optimization in Dropbox 6:18:47 Distributed Hash Tables BINARY SEARCH TREES 6:30:49 Introduction 6:38:30 Search Trees 6:43:33 Basic Operations 6:54:12 Balance 6:59:55 AVL Trees 7:05:49 AVL Tree Implementation 7:15:41 Split and Merge BINARY SEARCH TREES 2 7:25:34 Applications 7:36:05 Splay Trees Introduction 7:42:51 Splay Trees Implementation 7:50:51 (Optional) Splay Trees Analysis ⭐ Important Notes ⭐ ⌨️ This course is created in collaboration with University of California #datastructuresandalgorithmsinpython #datastructures #datastructuresandalgorithmsinc++ #datastructuresandalgorithmsinjava #datastructuresandalgorithmsinpython data structures and algorithms, data structures tutorial, algorithms tutorial, linked lists, arrays, hash maps, hash tables, java, data structures course, data structues, java data structures, programming, programmer, whiteboard interview, cracking the coding interview, java algorithms,

Course Hive

Continue this lesson in the app

Install CourseHive on Android or iOS to keep learning while you move.

Related Courses

FAQs

Course Hive
Download CourseHive
Keep learning anywhere