# Data Structures

This is the course homepage for `EN.601.226` Data Structures.

## Fall 2020

### Quick Links

• #### Campuswire

Q/A, Chat, Live Sessions (Lectures & Office Hours)

• #### Codegrade

Homework submission, Exams, Feedback & Grades

• #### Panopto

Recorded lectures for asynchronous viewing

### Resources

• #### Syllabus

Course Syllabus & Policies

• #### Schedule

Tentative Schedule of Topics and Events

• #### Logistics

Tools we use to survive remote teaching!

• #### Midterm 1

Information about Midterm 1

### Homework

Get set up!

• #### Homework 2

Sparse IndexedList!

• #### Homework 3

Assorted Complexities!

• #### Homework 4

RPN Calculator!

• #### Homework 5

Priority Queue

• #### Homework 6

Self-balancing BST

• #### Homework 7

JHUgle: HashMap based search engine

• #### Homework 8

JHUgle Map: Graph based touring!

### Exams

• #### Midterm 1

Take home exam!

• #### Midterm 2

Take home exam!

• #### Final Exam

Take home exam!

### Week 1

• #### Lecture 01

Course Overview & Java Review!

Get set up!

• #### Lecture 02

Inheritance & Polymorphism

### Week 2

• #### Lecture 03

Abstract Data Type & Java Interface

• #### Lecture 04

Java Generics & Test First Development

No Classes!

### Week 3

• #### Lecture 05

Java Exceptions

• #### Lecture 06

Java Iterator & Inner Class

Linked List

### Week 4

• #### Lecture 08

Asymptotic Analysis (Part I)

• #### Lecture 09

Asymptotic Analysis (Part II)

• #### Lecture 10

Asymptotic Analysis (Part III)

### Week 5

• #### Lecture 11

Quadratic Sorts

• #### Lecture 12

Stack & Amortized Analysis

Queue

### Week 6

• #### Lecture 14

Positional List (Part I)

• #### Lecture 15

Positional List (Part II)

• #### Midterm 1

Take home exam!

### Week 7

Set ADT

• #### Lecture 17

Binary Search Tree (Part I)

• #### Lecture 18

Binary Search Tree (Part II)

### Week 8

• #### Lecture 19

Binary Search Tree (Part III)

• #### Lecture 20

Priority Queue

No Classes!

### Week 9

Heapsort

• #### Lecture 22

Map ADT & BBST

AVL Tree

### Week 10

Treap

• #### Lecture 25

Hash Table (Part I)

• #### Lecture 26

Hash Table (Part II)

### Week 11

Merge Sort

QuickSort

• #### Midterm 2

Take home exam!

### Week 12

QuickSort

• #### Lecture 29

Lower Bounds & Linear-time Sorting

Graph Basics

No Class!

No Class!

No Class!

### Week 14

Graph Search

• #### Lecture 32

Shortest Path

• #### Lecture 33

Minimum Spanning Tree

### Week 15

• #### Lecture 34

Union-Find Data Structure