Skip to content

Latest commit

 

History

History

UCSD-Data-Structures-and-Performance

University of California, San Diego - Data Structures and Performance

Smiley face

University of California, San Diego INSTRUCTORS

Instructors: Mia Minnes, Leo Porter and Christine Alvarado

Course Description

In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables. You will explain how these data structures make programs more efficient and flexible. You will apply asymptotic Big-O analysis to describe the performance of algorithms and evaluate which strategy to use for efficient data retrieval, addition of new data, deletion of elements, and/or memory usage.

The program you will build throughout this course allows its user to manage, manipulate and reason about large sets of textual data. This is an intermediate Java course, and we will build on your prior knowledge. This course is designed around the same video series as in our first course in this specialization, including explanations of core content, learner videos, student and engineer testimonials, and support videos -- to better allow you to choose your own path through the course!

Done during the course

Week 1 : Introduction and Working with Strings

document.Document.java document.BasicDocument.java

Week 2 : Efficiency Analysis and Benchmarking

document.EfficientDocument.java

Week 3 : Interfaces, Linked Lists vs. Arrays, and Correctness

textgen.MyLinkedList*.java textgen.MarkovTextGenerator.java textgen.MarkovTextGenerator*.java

Week 4 : Trees! (including Binary Search Trees and Tries)

spelling.SpellingSuggest.java spelling.AutoComplete.java spelling.Dictionary.java spelling.Dictionary*.java spelling.AutoCompleteDictionaryTrie.java spelling.TrieNode.java

Week 5 : Hash Maps and Edit Distance

spelling.WordPath.java spelling.NearbyWords.java spelling.WPTree.java

Final Project: