Data Structures Fundamentals

Обучение бесплатное
Сертификация платная
1 час курса
О курсе

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, part of the Algorithms and Data Structures MicroMasters program, 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 course are:

  • What is a good strategy of resizing a dynamic array?
  • How priority queues are implemented in C++, Java, and Python?
  • How to implement a hash table so that the amortized running time of all operations is O(1) on average?
  • What are good strategies to keep a binary tree balanced?
  • We look forward to seeing you in this course! We know it will make you a better programmer.

    Data Structures Fundamentals
    Learn about data structures that are used in computational thinking – both basic and advanced.
    Что Вы изучите?
    • Basics of data structures including their fundamental building blocks: arrays and linked lists
    • How to use Dynamic arrays
    • A very powerful and widely used technique called hashing and its applications
    • How to use priority queues to efficiently schedule jobs, in the context of a computer operating system or real life
    • Basic structure of binary search trees - AVL trees and Splay trees
    • Applications of data structures
    Daniel Kane
    Daniel Kane
    Assistant Professor, Computer Science and Engineering & Dept. of Mathematics UC San Diego
    Daniel is an assistant professor at UCSD with a joint appointment between the Department of Computer Science and Engineering and the Department of Mathematics. He holds B.S. from MIT and Ph.D. from Harvard.
    Alexander S. Kulikov
    Alexander S. Kulikov
    Visiting Professor UC San Diego
    Alexander is a research fellow at Steklov Mathematical Institute at St. Petersburg, Russia and a visiting professor at University of California, San Diego. He have been teaching algorithms classes for more than eight years.
    Michael Levin
    Michael Levin
    Chief Data Scientist Yandex.Market
    Michael serves as chief data scientist at Yandex.Market (Yandex is the leading Internet company in Russia, and Yandex.Market is the leading service for price comparison online shopping in Russia). He has a degree in mathematics from Moscow State University. During his studies Michael was a silver and bronze medalist of ACM ICPC World Finals as a member of Moscow State University team.
    Neil Rhodes
    Neil Rhodes
    Lecturer UC San Diego
    Neil is Lecturer at University of California San Diego (UCSD), formerly Staff Software Engineer at Google.
    Эта платформа предоставляет все курсы бесплатно. Авторами выступают топовые университеты и корпорации, которые стараются удерживать стандарты качества. За несоблюдение дедлайнов, невыполнение домашнего задания студенты теряют баллы. Как и в других платформах, лекционные видео чередуются с практическими заданиями. Обучение проводится на английском, китайском, испанском, французском и хинди.
    Data Structures Fundamentals