Phil Chan

322 Harris Center, 674-7280

`pkc@cs.fit.edu`

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

Teaching Assistant:

**Textbook**

- Thomas A. Standish,
*Data Structures, Algorithms & Software Principles in C*, Addison Wesley, 1994. - (For java, I recommend: Goodrich et al.
*Data Structures and Algorithms in Java*, 6th Edition, Wiley, 2014.)

**A Short Guide to code01.fit.edu
**

**
**

**
Assignments (Submit Server)
**

**Lecture Notes**

- Introduction
- Growing your mind, The power of believing that you can improve, Neuroplasticity (cartoon), Neuroplasticity (Lara Boyd)
- Don't eat the marshmallow [setup: 0:25-0:48; kids: 2:45-4:45]; Resisting the marshmallow and the success of self-control [1:25 to 3:00; if-then plan: 4:30-5:30]
- Lists (Ch8: 8.1-8.2) Arrays, Singly Linked Lists, Doubly Linked Lists
- Analysis of Algorithms (Ch6: 6.1-6.4) Analysis of Algorithms, Big-O in How to: Prepare for a Google Engineering Interview
- Recursion (Ch3) Recursion
- Stacks and Queues (Ch7) Queues, Stacks
- Trees (Ch9.1-9.6) Trees, Turkducken and Trees, Priority Queues, Emergency Triage Scale, Google Ad Rank, Heaps
- Priority Queue Sorting, HeapSort (Ch 13.3) PQ Sorting and HeapSort, Obama on sorting
- Hashing (Ch11) Hash Tables, # of Facebook users
- Sorted/Ordered Maps (Skip Lists section) Skip Lists
- Graphs (Ch10: 10.1-10.6, MST) Graphs, Breadth-first Search, Depth-first Search, Connectivity and Spanning Trees, Maze-Solving Robot, Shortest Path, Directions in Google Maps, Minimum Spanning Tree, Directed Graphs
- Search Trees (Ch9.7-9.11) Binary Search Trees, Tries, AVL Trees, 2-4 Trees, Huffman Encoding, text compression
- Text Processing: Text Processing, Pattern Matching, Longest Common Subsequence
- Sorting (Ch13.4 MergeSort, QuickSort) Merge Sort, Quick Sort
- Data Structures and Algorithms: A Summary