Coursera
Coursera Logo

Data Structures 

  • Offered byCoursera

Data Structures
 at 
Coursera 
Overview

Duration

25 hours

Total fee

Free

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Data Structures
Table of content
Accordion Icon V3
  • Data Structures Overview
  • Data Structures Highlights
  • Data Structures Course Details
  • Data Structures Curriculum
  • Data Structures Student Reviews

Data Structures
 at 
Coursera 
Highlights

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Course 2 of 6 in the Data Structures and Algorithms Specialization
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Intermediate Level Basic knowledge of at least one programming language: C++, Java, Python, C, C#, Javascript, Haskell, Kotlin, Ruby, Rust, Scala.
  • Approx. 25 hours to complete
  • English Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish
Read more
Details Icon

Data Structures
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • 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?
  • You will also learn how services like Dropbox manage to upload some large files instantly and to save a lot of storage space!
Read more

Data Structures
 at 
Coursera 
Curriculum

Basic Data Structures

Arrays

Singly-Linked Lists

Doubly-Linked Lists

Stacks

Queues

Trees

Tree Traversal

About University

Welcome

Rules on the academic integrity in the course

Slides and External References

Slides and External References

Slides and External References

Available Programming Languages

FAQ on Programming Assignments

Acknowledgements

Basic Data Structures

Dynamic Arrays and Amortized Analysis

Dynamic Arrays

Amortized Analysis: Aggregate Method

Amortized Analysis: Banker's Method

Amortized Analysis: Physicist's Method

Amortized Analysis: Summary

Slides and External References

Dynamic Arrays and Amortized Analysis

Priority Queues and Disjoint Sets

Introduction

Naive Implementations of Priority Queues

Binary Trees

Basic Operations

Complete Binary Trees

Pseudocode

Heap Sort

Building a Heap

Final Remarks

Overview

Naive Implementations

Trees for Disjoint Sets

Union by Rank

Path Compression

Analysis (Optional)

Slides

Tree Height Remark

Slides and External References

Slides and External References

Slides and External References

Slides and External References

Priority Queues: Quiz

Quiz: Disjoint Sets

Priority Queues and Disjoint Sets

Hash Tables

Applications of Hashing

Analysing Service Access Logs

Direct Addressing

List-based Mapping

Hash Functions

Chaining Scheme

Chaining Implementation and Analysis

Hash Tables

Phone Book Problem

Phone Book Problem - Continued

Universal Family

Hashing Integers

Proof: Upper Bound for Chain Length (Optional)

Proof: Universal Family for Integers (Optional)

Hashing Strings

Hashing Strings - Cardinality Fix

Search Pattern in Text

Rabin-Karp's Algorithm

Optimization: Precomputation

Optimization: Implementation and Analysis

Instant Uploads and Storage Optimization in Dropbox

Distributed Hash Tables

Slides and External References

Slides and External References

Slides and External References

Slides and External References

Hash Tables and Hash Functions

Hashing

Binary Search Trees

Introduction

Search Trees

Basic Operations

Balance

AVL Trees

AVL Tree Implementation

Split and Merge

Slides and External References

Slides and External References

Binary Search Trees

Binary Search Trees 2

Applications

Splay Trees: Introduction

Splay Trees: Implementation

(Optional) Splay Trees: Analysis

Slides and External References

Slides and External References

Splay Trees

Other courses offered by Coursera

– / –
3 months
Beginner
– / –
20 hours
Beginner
– / –
2 months
Beginner
– / –
3 months
Beginner
View Other 6726 CoursesRight Arrow Icon

Data Structures
 at 
Coursera 
Students Ratings & Reviews

4.2/5
Verified Icon5 Ratings
A
Abhishek Modi
Data Structures
Offered by Coursera
5
Learning Experience: Learning experience was good
Faculty: Instructors taught well Curriculum was relevant and comprehensive
Course Support: No career support provided
Reviewed on 2 Apr 2022Read More
Thumbs Up IconThumbs Down Icon
A
Arun Yadav
Data Structures
Offered by Coursera
4
Other: I Like it
Reviewed on 18 Jul 2021Read More
Thumbs Up IconThumbs Down Icon
R
Rahul
Data Structures
Offered by Coursera
4
Other: I like list data structures in python data structures
Reviewed on 12 Nov 2020Read More
Thumbs Up IconThumbs Down Icon
View All 3 ReviewsRight Arrow Icon
qna

Data Structures
 at 
Coursera 

Student Forum

chatAnything you would want to ask experts?
Write here...