CSC 321: Data Structures
Fall 2015
Counting and problem solving
mappings, bijection rule
sequences, product rule, sum rule
generalized product rule, permutations
division rule, inclusion/exclusion
pigeonhole principle
1
Bijections
it is often easier
CSC 321: Data Structures
Fall 2015
Algorithm analysis, searching and sorting
best vs. average vs. worst case analysis
big-Oh analysis (intuitively)
analyzing searches & sorts
general rules for analyzing algorithms
analyzing recursion recurrence relat
CSC 321: Data Structures
Fall 2015
Graphs & search
graphs, isomorphism
simple vs. directed vs. weighted
adjacency matrix vs. adjacency lists
graph traversals
depth-first search, breadth-first search
finite automata
1
Graphs
trees are special instance
CSC 321: Data Structures
Fall 2015
See online syllabus (also available through BlueLine):
http:/dave-reed.com/csc321
Course goals:
To understand fundamental data structures (lists, stacks, queues, sets, maps, and
linked structures) and be able to impleme
CSC 321: Data Structures
Fall 2015
Linked structures
nodes & recursive fields
singly-linked list
doubly-linked list
LinkedList implementation
iterators
1
ArrayLists vs. LinkedLists
to insert or remove an element at an interior location in an ArrayLis
CSC 321: Data Structures
Fall 2015
Java review (or What I Expect You to Know from 222)
class, object, fields, methods, private vs. public, parameters
variables, primitive vs. objects, expressions, if, if-else, while, for
object-oriented design: cohesion,
CSC 321: Data Structures
Fall 2015
Proofs & trees
proof techniques
direct proof, proof by contradiction, proof by induction
trees
tree recursion
BinaryTree class
1
Direct proofs
the simplest kind of proof is a logical explanation or demonstration
CLA