Chevron Left
返回到 数据结构

学生对 加州大学圣地亚哥分校 提供的 数据结构 的评价和反馈

4.6
4,543 个评分
778 条评论

课程概述

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this online 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!...

热门审阅

PS
Jul 9, 2020

I think the course content and assignments were great. A suggestion though, it will be more helpful if there are more and varied corner cases that would save time spent in thinking and making cases.

KL
Sep 4, 2020

one of the best course i have ever taken on any platform.\n\ni love to learn on coursera platform.\n\ncoursera makes one to think fro solution.\n\nafter completion of course one feel satisfied.

筛选依据:

526 - 数据结构 的 550 个评论(共 765 个)

创建者 MOOLA M K

Dec 11, 2020

good

创建者 221910301018 C V N S P

Dec 5, 2020

good

创建者 321910302034 g

Nov 30, 2020

cool

创建者 221910311048 S

Nov 11, 2020

done

创建者 121910305046 P S V S

Oct 31, 2020

Good

创建者 121910305044 B S D

Oct 30, 2020

good

创建者 121910308046 V U S K

Oct 28, 2020

good

创建者 KOYA R N

Oct 15, 2020

good

创建者 Sasisrivundavilli

Oct 15, 2020

good

创建者 121910309040 N A K

Oct 7, 2020

GOOD

创建者 Kamal K

Oct 2, 2020

good

创建者 121910303030 A T

Sep 27, 2020

good

创建者 ALE P K

Sep 15, 2020

good

创建者 Omkar V G

Jul 23, 2020

Nice

创建者 Vineetha B

Jul 7, 2020

good

创建者 Pratik A R

Apr 22, 2020

Nice

创建者 D A

Apr 19, 2020

good

创建者 Sonu M

Feb 18, 2019

good

创建者 Lie C

Jun 19, 2018

good

创建者 하림 이

Oct 30, 2017

good

创建者 JeongEuiDong

Oct 29, 2017

good

创建者 Rohit K s

Nov 13, 2021

nyc

创建者 Surya. P

Aug 5, 2021

ni

创建者 Harshit S

Aug 27, 2017

The course covered important data structures and gave an insight on how to counter challenging algorithmic problem through step by step analysis from a very simple approach through slowly and steadily approaching towards better performing algorithms .This gradual rise from a learner's perspective is priceless and helps in better proficiency of the topic.Week 1 taught us basic data structures such as arrays,linked list,stacks and queues and there applications while solving problems on network processing through representing the packets in the form of queues , proper parenthesization of algebraic expressions through an application of stack and representation of tree upside down which we see everywhere in computer science as well as finding the height of a n-ary tree.Week 2 represented very common data structure used in almost any production system's source code the Array List and its time analysis through a new method called amortized time which was analyzed through banker's method,physicist method and the aggregate method .Week 3 described some pretty fast data structures whose mere usage can increase performance considerably such as priority queues whose representation are binary heaps and have special characteristics of Sifting up and Sifting down to maintain the classic heap property and it introduces a very fast sorting algorithm called heap sort.And this was not it another data structure was introduced which is called the disjoint set ( Union find) which made finding paths in very large graphical systems just a formality.The best part of this data structure remained integral to the characteristic of the course to find the efficient solution gradually but definitely as it showed which finding the union find function first through representing as arrays and assigning the parents as indexes and slowly finding the problem in arrays to go through tree representation as a necessity not just because every one has done it.Then came the fourth week and a learner's performance seeking mindset was in full throttle whether it be hash tables,hash functions or distributed hash tables used by Google Drive, Yandex Disk or Drop box there was no way stopping it and thus whole week showed how much can be achieved through hash table representation of data on which these companies integral technologies are based on.On a personal note I also saw the representation of distributed hash tables in Akamai's cloud distributed networks.The week 5 dig deeper into Binary Search Trees and there representation as well as there height were subject to scrutiny with the several applications such as AVL trees as well as Splay Trees all showed certain characteristics of height balancing which are very useful in caching and thus were considered as assignment to have a look and feel of big classes and using methods such as merge and split to get fast retrieval.Thus performance oriented mind set was explored to the fullest through playing of these data structure and applying them on real life scenarios.

创建者 Jenna W

Sep 17, 2016

A really great course, you should definitely take this second after Algorithmic Toolbox, as that has an easier learning curve for the very 'CS professor' style code (lots of single letter variables and other quirks) and how projects should be submitted and tested.

That said, there is a lot of good learning in this course. Make sure you have some good Algorithms textbooks to accompany the lectures, they have recommendations in the course. I personally use Sedgewick's book and CLRS which aren't exactly what they suggest, but work well. Take your time with the learning, make sure you really understand the concepts before moving on to the homework. Use multiple sources to learn (they provide plenty of links!) and you'll do well.

In response to a very politely asked request for clarity: I rated this 4/5 rather than 5/5 stars as I found that for my preferred language (Python) some of the starter files were very poorly created. This meant I often have to rewrite the initial parsing of the inputs because it would create variables that contained incorrect or incomplete input data. Further, there were some non-harmful quirks like semi-colons or parameters shadowing Python reserved words in the code. The next course in this series, Algorithms on Graphs, did not seem to have any of these issues, though!