Data Structures

  • 4.6
Approx. 25 hours to complete

Course Summary

Learn about data structures, their use cases, and implementations in programming languages such as Python and Java with this course on Coursera.

Key Learning Points

  • Understand the importance of data structures in programming
  • Learn about different types of data structures and their applications
  • Implement data structures in Python and Java

Job Positions & Salaries of people who have taken this course might have

    • USA: $85,000
    • India: ₹6,50,000
    • Spain: €35,000
    • USA: $85,000
    • India: ₹6,50,000
    • Spain: €35,000

    • USA: $110,000
    • India: ₹10,00,000
    • Spain: €45,000
    • USA: $85,000
    • India: ₹6,50,000
    • Spain: €35,000

    • USA: $110,000
    • India: ₹10,00,000
    • Spain: €45,000

    • USA: $75,000
    • India: ₹5,00,000
    • Spain: €30,000

Related Topics for further study


Learning Outcomes

  • Ability to choose appropriate data structure for a given problem
  • Implementing and manipulating different types of data structures
  • Improved problem-solving skills

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge in Python or Java
  • Familiarity with algorithms

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced

Similar Courses

  • Algorithms, Part I
  • Algorithms, Part II
  • Introduction to Data Science in Python

Related Education Paths


Notable People in This Field

  • Andrew Ng
  • Tim Berners-Lee

Related Books

Description

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.

Outline

  • 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

Summary of User Reviews

Find out what learners have to say about the Data Structures course on Coursera. This comprehensive course has received positive reviews from many users. One key aspect that users appreciate is the clear and engaging teaching style of the instructor.

Pros from User Reviews

  • Great introduction to data structures
  • Well-structured course content
  • Practice exercises help reinforce learning
  • Good pacing and balance of theory and practical application
  • Excellent support from the instructor and community

Cons from User Reviews

  • Difficult for beginners without programming experience
  • Too much focus on Java programming language
  • Some parts of the course can be repetitive
  • Limited real-world examples provided
  • No certificate of completion for free users
English
Available now
Approx. 25 hours to complete
Alexander S. Kulikov, Michael Levin, Daniel M Kane, Neil Rhodes
University of California San Diego, HSE University
Coursera

Instructor

Alexander S. Kulikov

  • 4.6 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses