Readme, Marking, Description, Mental Health, Dates,
|
|
Andy's slides:
These are slides of
Andranik
Mirzaian.
My current thinking is to not cover it.
(Partly because I don't know it).
But you may find it useful.
Abstract Data Types:
(ppt,
Notes Data Structures)
(What the user of the data structure needs to know about how it is
used, without needing to know how it is implemented.)
Positions and Pointers:
(ppt)
(One data structure points at another forming linked lists and trees.
They are often a challenge for new programmers in C or Java.)
Contracts, Assertions, and Invariants:
(ppt,
Steps,
Notes Invariants,
Notes Data Structures)
(Big systems need clear specifications about how its parts
communicate. Big systems, data structures, and algorithms alike need
to have clear specifications that never change.)
(Jeff strongly believes that loop invariants is the most important topic in
Algorithms. Instead of worrying about the entire computation, only
worry about one step at a time - make progress while maintaining the
loop invariant.)
Asymptotic Analysis of Time Complexity:
(ppt,
Useful Math)
(We classify algorithms based on whether they are polynomial or
exponential time.)
Recursion:
(ppt,
Notes)
(Again do not try to understand the entire computation. Trust your
friends to solve a smaller instances of your problem and use these to
the solve your own instance.)
Graph Search Algorithms
(ppt,
ass,
ass sol,
Soccer Strategies)
. . . . . . . . . . . . . . . . .
9
Midterm Review:
Jeff's Midterm
Review slides
3101 Steps0
Steps1
Steps2
Jame's Midterm
Review slides
Jame's problem set 1
(solution)
Jame's problem set 2
(solution)
Jame's problem set 3
(solution)
Jame's
Midterm Solutions 2015W
Some midterm 2014
Jeff's midterm 2015
(solution)
Jeff's Sketch of Exam 2015
(solution)
Balanced Trees:
ppt
(A great data structure storing objects is a binary tree. If it is
balanced than its depth is only log(n) with n nodes. Hence, operations
are quick.)
Dictionary/Map ADT
Binary Search Trees
Insertions and Deletions
AVL Trees
Rebalancing AVL Trees
Union-Find Partition
Heaps & Priority Queues
Communication & Hoffman Codes
Maps Hash Tables and Dictionaries:
ppt
(Items are "randomly" placed in at table.)
Dictionary/Map ADT
Direct Addressing
Hash Tables
Random Algorithms
Universal Hash Functions
Key to Integer
Separate Chaining
Probe Sequence
Put, Get, Del, Iterators
Running Time
Simpler Schemes
(Graphs, ie nodes and edges, are very useful for representing
data. The first task on them is to search through the nodes. )
Graph ADT
Generic Search
Breadth First Search
Dijkstra's Shortest Paths Algorithm
Depth First Search
Linear Order
Algorithmic Paradigms:
(ppt,
greedy,
dynamic programming,
NP)
(There are a few programming meta-algorithms that most algorithms fit
into. These should be understood.)
Brute Force: Optimazation Problem
Greedy Algorithm: Minimal Spanning Tree
Dual Hill Climbing: Max Flow / Min Cut
Linear Programing: Hotdogs
Recursive Back Tracking: Bellman-Ford
Dynamic Programing: Bellman-Ford
NP-Complete Problems
Other:
(Andy's Text Processing and
Memory Management:)
(Pattern Matching)
Machine Learning: I would love to cover some.
(Tries)
(Text Compression)
(DNA)
(Text Sequence Alignment)