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!
Do you have technical problems? Write to us: coursera@hse.ru...

Apr 06, 2018

Data Structures was really interesting over all, also assignments are quite challenging. It's important to consult the external references & discussion forums if you want to get the best of it.

Sep 19, 2019

The best data structures course that I have taken!\n\nThe complex topics are made simpler at the expense of teaching style that allowed me to make it applicable in a real world situations.

篩選依據：

創建者 Hemu

•Sep 20, 2017

Great lectures and assignments - awesome course!

創建者 Yatis

•Apr 11, 2017

Excellent material.

創建者 Vladislav V

•Sep 21, 2016

Feels a bit rushed, but overall it's great and challenging.

創建者 Saveliy B

•May 02, 2016

Great course, hard and challenging.

Couple comments.

Please use pen during lectures easier to follow and understand .

Some assignments require more then 8 hours to complete so please add to description of the course

(don't make assignment easier)

創建者 Francisco A A M

•May 16, 2018

Excellent course. It is clear and deep. The programming assignments can be very challenging.

創建者 Vijai K S

•Feb 14, 2017

Awesome course!!

創建者 Shyama D

•Sep 04, 2016

Helped summarize the basics for a newbie like me. Glad I took it :) Recommended.

Although, I do recommend some more material on the last two weeks - I loved the concepts that were taught, but I feel there could have been more lectures on BST applications, given how powerful they are!

Thanks!

創建者 Ian L

•Apr 24, 2016

Good coverage of data structures. Also emphasizes stress testing to develop your solutions. Can be challenging, but well worth the struggle.

創建者 Sergey L

•May 14, 2016

I always wanted to improve the algorithms and data structures field. The books wasn't so efficient. Especially they weren't so practical. These courses are the first courses where I really got a lot of knowledge. Especially because of assignments. All lectors are very good in explanation of the material and tell many additional useful things. These courses are the really good base, after which you can open the books related to algorithms and read more details if you needed.

I am definitely going to complete the whole specialization!

The only thing which was not convenient for me is that both courses Algorithmic Toolbox and Data Structures are started at the same time. It was difficult to find out the time for both courses and spend enough time to solve all assignments instead of only enough for passing.

Anyway, now I am started the second iteration of the course and I am going to solve all assignments which I skipped.

Big thanks to Daniel, Alex, Pavel, Neil and Mike!

Regards,

Sergey

創建者 Abinay B

•May 24, 2016

Course is Excellent.

The final week is a bit fast, understanding the splay was very difficult for me.

Could have given more examples for splay trees.

創建者 Ray S

•Apr 13, 2016

Clear presentation of basic data structures with non-trivial applications. Material is presented very well for beginning coding or as a review. Online grading is better than many programming courses. Works well as a stand alone course.

創建者 Nouby

•May 27, 2016

It is a really professional and enrich course ,, materials are very helpful and assignments really help me to improve and check my understanding.

創建者 Emilio M

•Nov 20, 2017

It was a very good experience to take this course, tank you very much!

創建者 Subhaprada C

•Aug 11, 2017

I think this is one of the best courses out there in terms of the rigour as well as the quality of the content. The instructors take great care to actually explain how the data structures work internally, complete with mathematical proofs wherever necessary. The assignments are also very good and help to solidify the understanding of the concepts.

創建者 Prakarsh D

•Aug 15, 2017

Excellent course with excellent assignments! Totally Satisfied! Thanks a lot teachers, mentors and coursera for such a great creation!

創建者 朱慧展

•Jan 19, 2017

nice course

創建者 Martynas Š

•May 27, 2018

It is a great course. But it would save a lot of time, if we could actually see errors of our submissions. Checking if your algorithm is working correctly (output wise), when you actually have a stack overflow on some test is very frustrating.

創建者 李伟超

•Apr 12, 2016

the problem is very good,the teacher has a good teaching.

創建者 Hank

•Feb 09, 2017

Great course!

創建者 Oliver A

•May 14, 2018

Very nice course!

創建者 Pablo E M M

•Sep 07, 2017

this is my second course that I have taken. I learned many things this course is more difficult than algorithmic toolbox but when you work hard you can finish all units

in the beginning i thought that i would not be able to continue because i dont have a lot of knowledge in c+, java or python, but i decided to learn c+ sonce the first course. these coursed were very difficult but i could finish then and this is all because of the professors whom were excellent and the challenging homework.

Thanks to everyone that has dedicated there time and resources to mke this wonderful course, I appreciate it a lot

創建者 John J M

•Jun 14, 2016

Great course with great content. Really enjoy the addition of support material and test cases for the difficult problems.

創建者 Xinyu T

•Apr 23, 2016

A great class. Professors explains really well.

創建者 Serkan P

•Nov 20, 2016

This is a great course. The lectures were easy to follow, CLRS references are also good to clarify anything that is not covered in the videos. Programming assignments are challenging enough and spot-on to practice the concepts.

創建者 Alexander

•Sep 08, 2016

I liked this course alot.

If you are a student and come from the previous course, you may only read the cons, since this course has the same spirit as the previous.

Pros:

1. The lectures contain quite a good material which is somehow difficult and they made me to pay attention. The lectures are based on dasgupta's book and MIT course book.

2. There are links to additional materials, I found the dijkstra's book and MIT course book, so I was able to gain extra information for topics which interested me.

Also slides are very useful

3. The forum! This course has a life forum where you can find help or share your ideas.

4. The teaching stuff! They are answering student questions and taking part in discussions

Cons:

Having compared this course with the previous one from the set, this course suffers from luck of interesting problems. The previous course has more than ~25 problems and for each module it has advanced problems,even more they added extra problems during the course running.

This course has ~12 problems and only one advanced for the whole course!. Only this advanced problem made me take a piece of paper and a pen and draw trees, and play with toy examples. Only for this problem I wrote a stress test. That is the most fun for me of studying!

If this course didn't have this advanced problem, I would barely give it 3 stars.

P.S.

Theaching stuff, please conider to add extra problems, the first course is awesome and it is way too good. This course is good, but it think you may develop it not only the first one. Otherwise students may get dissapointed if they come from the previous course.

I hoped that you would have added extra problems, so I slowed down, my expectation didnt come true :(