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.

Nov 23, 2019

The lectures and the reading material were great. The assignments are challenging and require thought before attempting. The forums were really useful when I got stuck with the assignments

篩選依據：

創建者 surajit d

•Jun 26, 2016

Awesome

創建者 Arjun M

•Dec 20, 2016

Learnt and still learning a lot!

創建者 Thang

•Jun 17, 2018

Very exciting

創建者 Weidong X

•Jul 14, 2016

Good course!

創建者 Wei D

•Nov 17, 2017

At first, I think the homework is really difficult. Since it seems like there's black box test.

But gradually I get accustomed to it.

I've learned a lot. And I can felt my growth clearly after conquering some difficulties.

創建者 Addis R S

•Jun 13, 2016

Great course, I learn a lot!

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

創建者 Tamilarasu S

•Oct 25, 2017

Very good course for data structures like stack, queue, linked list, hash tables, binary search trees, splay trees, avl trees.

BST assignment has very challenging problems.

創建者 Sean W

•Jul 09, 2017

Course is well designed and an enjoying challenge. It's a bedrock course for anyone solving computational problems.

創建者 Miguel A M H

•Jun 05, 2016

Excellent!!

Maybe more examples and more details in the math prove

創建者 Kirill Z

•Sep 18, 2016

very nice

創建者 Rodrigo

•Apr 09, 2018

Simplesmente fantástico! Conteúdo muito completo e a didática é perfeita

創建者 刘从从

•Mar 14, 2018

难度太大了

創建者 Héctor C

•Jan 03, 2018

Very nice homework!

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

創建者 Zebin W

•May 14, 2017

Very rewarding when completing it but not easy to complete all the programming tasks especially independently.

創建者 g

•Jul 27, 2016

Very useful basic data structures, interesting assignments closely related to the course.

創建者 Sonali S

•Feb 09, 2017

This course was really awesome and helped a lot to revise old concepts as well as learn many new things about the data structures

創建者 Kai D

•Jun 10, 2018

Very helpful!!!

創建者 Zhao Y

•Dec 20, 2017

very useful !

創建者 Sylvain L

•Apr 10, 2016

A really great course that deliver exactly its promises : a college-grade algorithmic course.

If you are looking to know all about classical data structures (arrays, lists, trees, heaps, ...) used in every program, this is the course for you. And if you are not interested in those topics ... well, you should !

Or course, this is a challenging course by it abstract nature. But with some work, the support of the instructors and of your peers, you will overcome the difficulties. After that with your newly gained knowledge, you will be able to choose the right data structure for your needs or implement it efficiently in the language of your choice.

Worth mentioning the course is language-agnostic -- and the assignment may be submitted in C, C++, Java or Python.

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

創建者 Srinivas N

•Jun 09, 2016

Excellent Course

創建者 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 :(

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