# 学生对 斯坦福大学 提供的 Graph Search, Shortest Paths, and Data Structures 的评价和反馈

4.8
1,452 个评分
159 条评论

## 课程概述

The primary topics in this part of the specialization are: data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of breadth-first and depth-first search, connectivity, shortest paths), and their applications (ranging from deduplication to social network analysis)....

## 热门审阅

##### TG

Dec 01, 2019

It was an awesome experience to learn from such a teacher. Now I have a much clear view of the graph algorithms. I have enjoyed this course. Thanks to Stanford for offering this course.

##### JA

Oct 16, 2018

Interesting problems and explanations. But mathematical analysis is going off of my mind. It has very good explanation. Not sure, whether I can carry forward that knowledge or not.

## 1 - Graph Search, Shortest Paths, and Data Structures 的 25 个评论（共 157 个）

Jul 01, 2019

I think this is an excellent class. However, I really needed to both watch these AND read Cormen's Algorithms textbook to understand and grasp the concpets (And even answer the quizes). I think the pseudo code could be better guided as it is a struggle to really understand what it is supposed to contain.

I think a nice additional feature that should be added to the class is a solutions explanations for the quizzes and final exams. This should only be unlocked after passing the quiz, but it would be useful as an aid to understanding why the solution is right, rather than just guessing. Some other coursera classes do these, and I think for this class in particular, it would be a big help.

Aug 07, 2019

Magnificent, well structured and explained, with some creative ways to see algorithms.

The only thing I would recommend is to use additional references for the graphs section, CLRS and KT for example helped me a lot.

Jul 30, 2017

One of the greatest courses on this website. However, I believe this course will be more approachable if it contains more practical guide such as sample solution for algorithms.

Jul 30, 2018

This is an excellent course! It is well explained and I would recommend it to anyone interested in algorithms and data structures covered in this course.

Sep 04, 2017

wonderful

Apr 13, 2018

Good course, but instructor does start to move fast and a few walk-throughs in certain spots would be beneficial . However the lack of it makes you do your own research, which is also beneficial.

Jul 17, 2018

Using slides would have been better but anyway great content. Over simplified sometimes though.

Jul 21, 2017

we can't understand the writing. please provide the slides to understand better.

Feb 23, 2018

Similar review as the first course.

1) Assignments 1 and 4 test your ability to write optimized code which can handle large input sets (1 million integers) more than knowledge of the algorithm itself. This would be fine except that there is no support or material for figuring this out. Assignment 1's solution as taught in the course, for the most part, does not work for that input size. It's a week of frustration trying to figure out how to handle that. I STILL don't have a proper solution for that problem.

2) NO support from staff/mentors/students in the forum, especially for those input size problems.

3) Quizzes tend to test maths knowledge not taught in the course too much - this is less the case in this second course than the first one

Probably not going to do the 3rd and 4th courses.

Mar 26, 2017

This was another good one, providing a slightly deeper dive than I had seen in other courses. The big revelation here, for me, was the addition of Bellman-Ford algorithm for evaluating shortest path in networks (graphs) that have some negative distance values between nodes.

I also like the approach to data structures (high-level, then drilling down into increasing detail for level of interest) I find it hard to say I understand a data structure based on "Interface and Theory" and I would have felt the certification meant more with at least a rudimentary implementation. I guess that makes me a coder at at heart.

I am about to jump into the next course of the specialization: Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming As with the two courses before, I am expecting new revelations about the kind of programming issues I've been solving for more than fifteen years.

Jul 22, 2017

Really taught me a lot. Rather well-explained, except proof of Dijkstra's - Wikipedia explains it better and faster. But good walkthroughs of how algorithms work, because it helps you to visualise and understand properly. Interesting assignments, although it would be useful to have test cases provided because, especially for week 1 and 4, it takes a ridiculously long time to run the program, and it would be wasted time if you turn out to get the wrong answer. Test cases would help you be more sure that your code is right before you attempt to run it on the humongous file. I had to use PyPy to speed the programs up because I use Python which is generally slow. Advice: for week 1 and 4, use C or C++ or some other fast language. Or Cython if you can get it to work.

Nov 11, 2019

Very interesting. I learned a lot of new things. 5 stars!

Just a few things that could be improved:

-- The video and its audio are not really synchronized (maybe because the video is pretty old)

-- The subtitles are not good. Even the english ones were not written by someone who knows what the professor is talking about...

Nowadays there are better solutions to validate whether someone solved a programming task. geeksforgeeks.org and hackerrank.com for example just execute the program with test input.

But all in all: Very positive experience.

Dec 29, 2016

This is a great course. The teacher is very clear, and the material is very interesting. The programming assignments are interesting: the problems asked are very simple, but the input is generally too large to use brute force: you really have to implement the algorithms presented in the videos. This makes you realize how much smart algorithms can make a difference.

The level of the class is relatively high, compared to other Coursera courses I've taken. If you want some serious training on algorithms, look no further.

May 28, 2017

The course is exceptional, but it could use some touchups. For instance, some of the programming problems are ill-described and you implement what is not "asked" for. Use the forums do get actual detail that should have been included. On the other hand, that's what "real world" problems are like; except they are even worse; even the question is not asked... In that sense it presents a real mystery which requires pre-programming thinking that is in itself a long wrought skill.

Apr 13, 2018

I think this was the best course of the specialization. Stacks, queues, heaps, search trees, hash tables etc. are data structures everyone should know; when to use and their raison d'etre as he says.. and to that end this course is very effective. This course also has a very nice flow. And of course, Prof. Tim Roughgarden is simply awesome. I wish I got a chance to be in his offline classroom.

Mar 19, 2018

This is an excellent course on algorithms, that has given me a deeper understanding of the subject.

I am a theoretical physicist using this course as preparation for coding interviews, and the speed, amount of rigor and optional material (the optional theory problems in particular) feel perfect for my learning effort.

May 04, 2017

I enjoyed this course, it was more challenging than the first one in the sequence, especially in the graph-search portion. The last 2 weeks are much more simple, but it is still essential for any serious student of CS to learn about data structures, especially common and practical DS such as heaps and hash tables.

Nov 02, 2018

It's a good course, but doesn't offer as much breadth as the first course. If you've never seen these concepts at all, this is a great starting point. If you are looking for a refresher, you might find that this course doesn't cover all the topics you want to drill into.

Feb 17, 2018

I found this second part of the Algorithms stream fascinating. Getting into the details of Algorithms I only knew by name before was an extremely rewarding experience. Lots of fun and very enjoyable. Thanks Coursera for making the available, keep the good work!

Aug 13, 2017

I am still really enjoying the course. The programming assignment for week four didn't require a hash table to implement, so didn't seem entirely relevant to the week's material (instead I used sets). At any rate, would wholeheartedly recommend the course.

Apr 30, 2017

The professor is amazing. He has the ability to present the material very clearly, concise, and with a good dose of humour! I would definitely recommend it to anyone interested in algorithms and data structures as an undergraduate or a professional.

Feb 26, 2018

Data Structures helps me resolve problem quickly, and force me to think the problems in a more solid way. I will try to figure out what kind of operations I need when solve a specific problem and which data structure is suitable in that situation.

Mar 28, 2019

Another great, in-depth, course on algorithms. Now that the book is also available it's even better. Please just rework the assignment of week 4, it is unrelated to the week's lecture if you want to complete it in a reasonable time.

Nov 30, 2018

Awesome. Thought one improvement idea: when the questions are asked about some dataset shown in a picture it would be nice to retain the picture when the form is shown. Otherwise one need to rewind to recall the dataset.

Dec 31, 2016

I really enjoyed it. Perfect balance of practice and theory together with clear explanations. I also appreciate the mentors efforts that always answer any questions and try to help. Thank you Tim, Vassilis, and Arjit.