CS 112 : Data Structures
Fall 2020
What you will learn in this course
What You (Should Have) Learned in 111
(Graphic Art from wordle.net)
2
Coming in to 112…
You are expected to hit the ground running with
all the topics you learned in 111 - strings, arrays,
searching, sorting, recursion, Big O, objects.
In order to review objects and Big O in particular,
you are urged to read the following from the text:
• Chapter 1: Object-oriented Programming in Java – Sections
1.1 and 1.2
• Chapter 3: Efficiency of Algorithms – Entire chapter, all
sections
3
You Already Know Some Data Structures
4
What You Will Learn in 112
Linear Trees Graphs Hash Table
• Array • Binary Tree • Undirected
• Linked List • Binary • Directed
• Stack Search • Weighted
• Queue Tree
• AVL Tree
• Heap
5
What You Will Learn in 112
6
What You Will Learn in 112
Graph Algorithms
Depth first search (DFS)
Breadth first search (BFS)
Topological Sorting
Shortest Paths
(maps.google.com)
7
What You Will Learn in 112
Sorting
Array
• Insertion Sort
• Quicksort
Linked List
• Mergesort
• Radixsort (Time permitting)
Heap
• Heapsort
8
What You Will Learn in 112
Running Time/Space Analysis
Big O
Worst case
Best case
Average case
9
What You Will Learn in 112
Programming Data
Structures and Algorithms
10