Phil Chan

322 Harris Center, 674-7280

`pkc@cs.fit.edu`

Office Hours: TR 11am-1pm (or by appointment)

Teaching Assistant:

Haoran Chang, hchang2014@my.fit.edu, MW 9-10am, Crawford 500 [also at CS Help Desk: M 3-5pm, Crawford 500]

**Textbook**

- M. Goodrich, R. Tamassia, and M. Goldwasser (2014).
*Data Structures and Algorithms in Java, 6th Edition*. Wiley. Student Companion Site

**Seating of groups during lectures
**

**
**

**
Lecture Notes
**

- Introduction
- Growing your mind, The power of believing that you can improve, Neuroplasticity (cartoon), Neuroplasticity (Lara Boyd)
- Fundamental Data Structures (Ch3) Arrays, Singly Linked Lists, Doubly Linked Lists
- Algorithm Analysis (Ch 4) Analysis, Big-O in How to: Prepare for a Google Engineering Interview
- Recursion (Ch 5) Recursion
- Stacks and Queues (Ch 6) Queues, Stacks
- Trees (Ch 8) Trees, Turkducken and Trees
- Priority Queues (Ch 9) Priority Queues, Heaps, Adaptable PQ, Heap Sort, Obama on sorting
- Maps and Hash Tables (Ch 10) Maps, Hash Tables, Sorted Maps and Skip Lists, Sets
- Graph Algorithms (Ch 14) Graphs, Depth-first Search, Breadth-first Search, Directed Graphs, Shortest Path, Minimum Spanning Tree
- Text/String Processing (Ch 13) Pattern Matching, Tries, Text Compression (Greedy), Longest Common Subsequence (Dynamic Programming)
- Search Trees (Ch 11) Binary Search Trees (pdf),
AVL Trees (pdf),
(2,4) Trees (pdf)

- Sorting (Ch 12) Mergesort (pdf), Quicksort (pdf), Bucket and Radix Sort (pdf), []
- Data Structures and Algorithms: A Summary