Data Structures

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 online 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!

Created by: University of California San Diego


Related Online Courses

This course provides foundational understanding of how computers process information through hardware and software. You will investigate the world of Information Technology (IT) and survey hardware... more
By the end of this project, you will have created a Visual Tasks Guide to use with your students. As teachers, we are always looking for ways to help our students grow. For students with special... more
In this hands-on Specialization you will practice completing each step of the accounting cycle within Microsoft Excel, from analyzing and recording the first financial transactions of the year all... more
This course introduces students to the basic concepts of shaping materials and their impacts on properties and structure. An introduction to the fundamentals of diffusion in a solid follows. We... more
We reside in a world experiencing an explosion of information, with a rapid and exponential growth of data. This surge in data captures increasing interest across various fields. Data science... more

CONTINUE SEARCH

FOLLOW COLLEGE PARENT CENTRAL