CSE2011 EECS 2011: Fundamentals of Data Structures

Readme, Marking, Description, Mental Health, Dates,

Topics Slides Old Videos New Videos Notes
(Java,OO)
Abstract Data Types
Positions and Pointers
Contracts and Invariants
Running Time
Recursion x
Balanced Trees
Hash Tables
Graphs
Algorithmic Paradigms
Other
Review
Notes Code Ass1 Ass1 Sol
Ass2 Ass2 Sol
Midterm Review Midterm Sol
Ass3 MainGUI Ass3 Sol
Ass4 Ass4 Sol

Request:
     Jeff tends to talk too fast. Please help him go pole pole slowly.
Texts:

Other's web pages:
Introduction: (ppt)


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.)


Midterm Review:


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.)


Maps Hash Tables and Dictionaries:
ppt
           (Items are "randomly" placed in at table.)

Graph Search Algorithms (ppt, ass, ass sol, Soccer Strategies)
           (Graphs, ie nodes and edges, are very useful for representing
           data. The first task on them is to search through the nodes. )


Algorithmic Paradigms: (
ppt, greedy, dynamic programming, NP)
           (There are a few programming meta-algorithms that most algorithms fit
           into. These should be understood.)


Other: (
Andy's Text Processing and Memory Management:)

Machine Learning: I would love to cover some.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9