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
Few capabilities focus agile like a strong analytics program. Such a program determines where a team should focus from one agile iteration (sprint) to the next. Successful analytics are rarely hard... more
The Knowledge framework of Automotive SPICE (Software Process Improvement and Capability Determination) is the focus of the AutoSPICE course, which seeks to provide you with a thorough grasp of it.... more
The aim of this course is to introduce learners to open-source R packages that can be used to perform clinical data reporting tasks. The main emphasis of the course will be the clinical data flow... more
This course aims at assisting you in interpreting financial accounting information related to inter-corporate investments. The course will cover three main topics over four modules: (i) accounting... more
This specialization will help you understand how prototyping can be accelerated by the use of 3D printing. It first provides insights into the core processes in engineering and product design &... more