Data Structures I Mini

In this mini sprint, you'll be exploring the different data structures that were introduced in the lecture. The main point of this mini sprint is to give you some exposure to these structures from the perspective of users before you have to go and implement them yourself in the actual sprint.

This will mostly consist of you reading about these structures more in-depth, as well as interacting with them via their methods in order to get an understanding of what each method is doing. To that end, there are some great visualization tools out there on the internet that will help to give you a clear sense of how each data structure stores and retrieves pieces of data.

The primary part of this mini sprint should be spent exploring this site of data structure visualizations. As you can see, they have a bunch of visualizations on much more advanced data structures and algorithms. For now, just focus on the stacks, queues, and hash table visualizations (specifically, Closed Hash Tables using buckets). Play around with them, test out all of their different methods, and really try to think about how you would go about implementing these data structures along with their associated methods.

Here are a bunch of links to articles and sites that delve more deeply into the concepts we touched upon in the lecture:

https://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/: Succinctly lays out the most common big-O classifications, including some we didn't touch on in the lecture.

http://bigocheatsheet.com/: An awesome big-O cheat sheet for a quick refresher on these topics should they ever get a bit rusty in your mind.

http://www.csanimated.com/browse.php: This site was probably created in the late 90s judging from its design. Regardless, if you're looking for some more explanation on any of the data structures we covered today, this site has you covered.