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!
document.Document.java document.BasicDocument.java
document.EfficientDocument.java
textgen.MyLinkedList*.java textgen.MarkovTextGenerator.java textgen.MarkovTextGenerator*.java
spelling.SpellingSuggest.java spelling.AutoComplete.java spelling.Dictionary.java spelling.Dictionary*.java spelling.AutoCompleteDictionaryTrie.java spelling.TrieNode.java
spelling.WordPath.java spelling.NearbyWords.java spelling.WPTree.java
Final Project: