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...

May 24, 2016

I like this course very much! Rope is the cleverest task I have ever done! Of course, I hope in future I will work on even more difficult problems, but this is pretty good already for me as a student!

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.

篩選依據：

創建者 Imaani E

•Jan 22, 2017

Great course - the homework problems were really helpful for cementing concepts. However, I did feel that the difficulty of the homework problems did not increase with the progress of the course. I think that it would have been very reasonable to increase the difficulty of the homework assignments as the course progressed. Otherwise, great overall course.

創建者 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.

創建者 Haoran G

•Oct 02, 2017

An excellent course for those who is willing to learn basic concepts and practice their programming skills in data structures. Students would learn a lot after finishing the assignments. More over, slides provided are extremely clear and helpful.

However, it seems that the forum is not active, most questions and answers were posted months ago.

創建者 Madan K

•Jun 04, 2016

Really awesome Course , Must take it as a software Engineer and if you have already learned these things , It will open your eyes and make you correct your mistakes.

Simple explanations in videos and covering all intermediate data structures.

Problems are also good companion to the course content and allowing us to implement in many languages .

創建者 Walid O

•Jul 24, 2017

really good course , advanced problems will improve your skills to think and use the data structure , although it is obvious where to think as it is application on the week lesson so maybe if the problems are more general will be better.

still , this course improved my skill to implement data structure and understand it deeply . thanks

創建者 Andrew J

•May 21, 2017

A thorough course covering many fundamental data structures and some very impressive applications.

The assignments are challenging but extremely satisfying. I especially enjoyed implementing a rolling hash and working with binary trees.

It covered more material in depth than my data structures university subject.

創建者 Christopher B

•Aug 02, 2016

A very good course if you want to learn how we organize data in such a way that we can perform specific operations with low computing cost. This course is language agnostic so it becomes more about learning the fundamental structures and less about troubleshooting the language you use. Very good course!

創建者 Madhusudhan S

•Jan 11, 2018

Perhaps the videos on AVL Trees (Rotations basically) and Splay Trees can be enhanced to give a more thorough grounding. I had to refer to many sources to get the concepts grilled into my head. But it has been an awesome experience so far in this specialization. Kudos to the team behind this.

創建者 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!

創建者 Parthiban D

•Apr 25, 2018

As every other course on this series the programming assignments are excellent. I ignore lectures and go directly to the assignments. The lecture are very monotonous in tone. Its really hard to understand the accent. I usually learn topics elsewhere and attempt the assignments here.

創建者 Fabrice L

•Nov 01, 2017

Very interesting class, I learned a lot, about implementation and real life applications.

Like the previous class, there is many assignments to practice, so I really recommend to pick up a programming language that you are comfortable with, if you want to move forward at a good pace.

創建者 Kevin K

•Aug 18, 2016

Personally, this course is interesting and essential for the learner to proceed to other more advanced courses, either within this specialisation or not. There is only one suggestion that it will be better if the instructors can provide more details of the pseudo codes.

創建者 Satish K P

•Feb 02, 2019

This course provides very good insights into data structures. The instructors are very good and gave concise and clear explanations for all the concepts. I have enjoyed working on all the assignments. The were challenging and made me apply all the concepts I learned .

創建者 Vasilii G

•Dec 05, 2016

Really liked this course - it is a comprehensive overview of basic data structures. Programming assignments are mostly to implement some data structure and use it to solve problem, but there are some challenging advanced tasks, which it was very interesting to do.

創建者 Andrey K

•Oct 19, 2018

Interesting and hard (but possible to solve) challenges. All necessary information to solve a problem can be found in the lectures. The theoretical part is minimal but enough to start solve advanced problems. That's why I love this course more than others ever!

創建者 Aditya R

•Mar 16, 2019

It is a must course for anyone who wants to excel in computer science field, and this course will help in every possible way from easy explanation of topics to effective assessment along with helpful discussions.

Thanks for creating such a wonderful course.

創建者 Shobhit G

•Sep 12, 2016

Lots to learn and it's fun to learn from different teachers. Very heavy (and high quality) course if one wants to do proper justice to all the materials presented (especially hashing and trees... Week 3 onwards). A worthy investment . Enjoyed it immensely.

創建者 Mohammad K A

•Sep 05, 2016

Nice course, It was bit difficult for me. I think I will have to go over the few lectures again soon. Problems were very cool, these took lots of hour head down. Thanks all lecturers, specially Daniel M Kane and Alexander S. Kulikov. Loved your lectures.

創建者 Michael B

•May 29, 2016

Similar to the first course in this Specialization, a great course on algorithms and their applications. Frustrating at times, but I definitely recommend this course (and the others) if you are serious about implementing algorithms for whatever purpose.

創建者 Nguyen M H

•Dec 19, 2017

I appreciate the fact that our lecturer put a lot of efforts in Practice case study and Coding practice along with most of the theories covered. This is one of the best course I've learned, which help me to understand and "digest" things in easy ways.

創建者 MD A H Z

•May 17, 2018

This is a great course to learn Data Structures. All the course materials are very helpful and easy to learn. The instructors are very focused with the content; they explained every topic very clearly and easily. I have learnt a lot from this course.

創建者 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)

創建者 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.

創建者 Pradyumn A

•Jan 03, 2019

This course helped me clear a lot of doubts as well as it introduced me to many useful things with their implementation. I must say this course is one of the best courses available on Coursera. Thanks to great instructors who helped me a lot.

創建者 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.