Chevron Left
Back to Data Structures

Learner Reviews & Feedback for Data Structures by University of California San Diego

4.6
stars
5,501 ratings

About the Course

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

Top reviews

DG

May 23, 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!

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.

Filter by:

651 - 675 of 928 Reviews for Data Structures

By ALE P K

Sep 15, 2020

good

By Omkar V G

Jul 23, 2020

Nice

By Vineetha B

Jul 7, 2020

good

By Pratik A R

Apr 22, 2020

Nice

By Anand D

Apr 19, 2020

good

By Sonu M

Feb 18, 2019

good

By Lie C

Jun 19, 2018

good

By 하림 이

Oct 30, 2017

good

By JeongEuiDong

Oct 29, 2017

good

By Chahat T

Nov 18, 2024

...

By apoorv b

Sep 23, 2024

yes

By 2203 A

Oct 16, 2023

gud

By Sharmila M

Feb 21, 2023

Nil

By vicky k

Feb 21, 2023

Nil

By Rohit K s

Nov 13, 2021

nyc

By Surya. P

Aug 5, 2021

ni

By RUDRAKSHI G

Nov 16, 2024

.

By Batool Z

Jan 17, 2023

5

By PATEL A

Aug 16, 2022

.

By ANNEPU P R

Jul 10, 2022

5

By Nagaraj Y

Feb 14, 2022

i

By Ansuim O

Nov 20, 2022

Hello you all. I'm actually studying the course Data Structures from Specialization : Data Structures and Algorithmics. For the first programming assignments, the last exercice about a local maximum of a sliding window, i think there is an error or bug with the test cases. It's not because i get a wrong answer or something like that, it's just because the test case n°176 never end. For each test case, we have 03 lines : 1- The number m of int we will have 2- The m int separated by space 3- The window n of m After submission, all works perfectly until the 176th test case which consist of just 02 lines, the third one never exist, and it occurs to an error. Here is the error messages : Warning, long feedback: only the beginning and the end of the feedback message is shown, and the middle was replaced by " ... ". Failed case #176/198: (Wrong answer) Input: 100000 62910 35924 2734 21815 78184 91350 82092 8960 52292 58691 22252 25539 81784 62060 28390 96277 19017 23218 36327 41596 49060 64454 47855 22471 21007 92928 66627 70120 1766 36088 74214 53008 92407 54388 90375 61418 89744 83349 15435 42996 31200 89382 89702 82026 27577 13567 90507 8336 5182 53145 9383 75737 3135 70927 22911 94092 70856 1160 67512 36271 18762 14719 11758 50112 17537 88702 9797 27820 74377 96792 12970 60864 53765 53079 22001 31212 59035 96679 3128 36211 33693 36022 51962 95248 9370 38903 95504 5246 25540 42485 35361 67846 54145 62135 10131 99405 80575 3862 50722 7667 3266 68162 20717 80280 50510 93097 56793 51415 34799 47272 84171 11338 30060 24132 57453 93002 64286 65331 36762 44546 65821 90375 15014 541 93640 33581 52218 43696 23495 9788 79463 19835 87075 74427 26245 80532 12656 80598 27284 44600 2751 51534 50291 54970 47958 55817 38252 96782 9939 47051 84608 58088 49567 65713 55333 78830 83741 38201 96087 76275 14333 173 41262 13706 38758 67104 65044 33468 77566 79431 96784 8570 67226 66634 91864 24030 34556 95754 9052 34470 94717 79092 30228 55086 38046 56773 15115 50361 22020 12674 75749 13634 51746 15637 47726 62783 71611 93024 55640 62844 43384 68876 75457 86165 26055 58300 55370 59981 95958 41344 88913 2602 61795 34089 55783 35055 53124 74122 41481 51789 84174 793 93237 83162 41280 93961 31060 4800 42977 269 51586 98022 62110 26502 64140 66219 53362 72791 62873 56207 16449 68406 93488 83522 10884 45646 45696 35484 95928 24810 25046 2901 2827 61184 14760 83932 76115 5037 53726 75936 82447 29733 17751 23466 90531 76640 97889 56423 6767 34002 47264 52370 23251 47869 42192 96565 57142 58491 41464 31161 31324 21039 16658 67209 3642 68813 78008 15145 74371 46972 37181 25949 91033 42728 70215 72306 81502 75120 74643 6010 56553 237 70643 46627 74525 40772 77438 63803 77636 37438 40400 30239 76318 61046 45567 42338 90313 60740 12784 30952 46962 77022 60 92919 94729 99390 89841 52051 82031 45781 80404 99029 48962 17368 61755 15664 64209 61186 2002 27740 43515 52235 8333 92555 72141 35116 21582 62998 38251 15508 62414 82782 6272 36526 41478 88238 58720 52801 69040 77503 9296 44841 56279 21821 29003 97166 81822 93095 95217 18058 37511 42453 96215 80954 67614 68892 67028 6231 47150 19582 28849 19558 69840 94404 80235 8165 66575 62357 17533 60794 33906 13612 40490 11772 4187 29599 66947 7010 53991 80105 90258 43368 43943 32589 5554 9 ... 9996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 99996 (Time used: 0.46/5.00, memory used: 39575552/2147483648.) I hope you'll have a view on it and make feedback so that we can know what happens. Thank you very much. Best regards.

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

By 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!

By Christopher W

Mar 8, 2020

A really good course. I'd have to say the beginning lectures went pretty darn fast. If I hadn't had previous exposure to data structures, I'm sure I would have felt totally buried. As it is it served as a great refresher for the basics, and then the more advanced concepts later were well-presented and thoroughly analyzed. I have a good feel for the use and running times of the operations discussed. I felt bad that I didn't do all the programming exercises when only like 2 or 3 were needed to pass. They were pretty challenging, and by the time I had done enough to pass I was like, OK moving on....maybe I'll circle back to the ones I didn't get to.