Data Structures

Johns Hopkins · EN.601.226 · Spring 2022

The design, implementation and efficiency of data structures and their algorithms, including arrays, stacks, queues, linked lists, binary trees, heaps, balanced trees and graphs. Other topics include sorting, hashing, Java generics, and unit testing.

Johns Hopkins · EN.601.226 · Spring 2022

Java and Object-Oriented Design

Overview

Inheritance and Polymorphism

ADTs and Interfaces

Generics and Unit Testing

Java Exceptions

Iterators and Inner Classes

Linked List

Analysis

RAM Model

Asymptotic Growth Rate

Asymptotic Analysis

Quadratic Sorts

Lists, Stacks, Queues and Sets

Stack

Queue

Positional List

Set ADT

Trees and Maps

Binary Search Tree

Trees and Tree Traversal

Map ADT and Balanced BSTs

AVL Tree

Priority Queue

Treap

Hashing and Sorting

Hash Table

Heapsort

Merge Sort

Quicksort

Graphs

Graph Basics

Shortest Path

Minimum Spanning Tree

Union-Find

Review

Midterm 1 Cheatsheet