Coursera
Coursera Logo

Data Structures 

  • Offered byCoursera

Data Structures
 at 
Coursera 
Overview

Duration

25 hours

Start from

Start Now

Total fee

Free

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

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

Data Structures
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 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...