Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 326 Course Review David Kaplan Dept of Computer Science & Engineering Autumn 2001.

Similar presentations


Presentation on theme: "CSE 326 Course Review David Kaplan Dept of Computer Science & Engineering Autumn 2001."— Presentation transcript:

1 CSE 326 Course Review David Kaplan Dept of Computer Science & Engineering Autumn 2001

2 Course ReviewCSE 326 Autumn 20012 Why (did we) study data structures? Clever ways to organize information in order to enable efficient computation Systems Theory AI Graphics Applications DataStructures Databases NetworkingGames

3 Course ReviewCSE 326 Autumn 20013 Why (did we) take CSE 326?  Guaranteed non-obsolescence  May be most important CS course you ever take  Gain concepts, plans and mechanisms for creating better software

4 Course ReviewCSE 326 Autumn 20014 Course Goals  Learn some of the fundamental data structures in computer science  Learn to solve problems abstractly  Data structures are the building blocks  Learn to analyze and improve algorithms  Prove correctness  Gauge and improve time complexity  Learn UNIX  Required in upcoming courses

5 Course ReviewCSE 326 Autumn 20015 Concepts, Plans, Mechanisms Concepts  A list that lets me store and retrieve things  A tree that lets me store and retrieve things by hierarchy  A table that lets me store and retrieve things by name  A graph (network) that represents distances between cities, relationships between people, tasks within a project, etc.  and so on …

6 Course ReviewCSE 326 Autumn 20016 Concepts, Plans, Mechanisms Plans  Pseudocode  Block Diagrams  Flowcharts Mechanisms  Working code Intuition is the bridge concepts  plans  mechanisms

7 Course ReviewCSE 326 Autumn 20017 Organizing Information Concepts Simple collectionCollection with hierarchy Collection with complex topology Plans (ADTs) List, Stack, Queue Binary Search Tree, B-Tree, AVL Tree, Heaps, … Directed Graph, DAG, Flow Network, … MechanismsNumerous “Linear”“Hierarchical”“Graphical”

8 Course ReviewCSE 326 Autumn 20018 Using Organized Information Examples  Dictionary ADT  Store, retrieve, update, delete to-from large bodies of information  Priority queue ADT  Handle “priority” on-the-fly  Disjoint Sets ADT  Handle dynamic equivalence on-the-fly  Graph {ADT, data structure, ???}  Answer hard questions (sometimes efficiently!)  Shortest paths, spanning trees, …

9 Course ReviewCSE 326 Autumn 20019 Asymptotic Complexity How the running time of an algorithm scales with the size of its input Ways to measure complexity  Worst case  Average case  Amortized over a series of (presumably representative) runs  Best case (occasionally useful)

10 Course ReviewCSE 326 Autumn 200110 Apocalyptic Laptop Seth Lloyd, a physicist at the Massachusetts Institute of Technology, has calculated how to make PCs almost unimaginably faster--if you don't mind working on a black hole. Lloyd has used the laws of thermodynamics, information, relativity, and quantum mechanics to figure out the ultimate physical limits on the speed of a computer… Lloyd's ultimate laptop would convert all of its 1-kilogram mass into energy via Einstein's famous equation E = mc 2, thus turning itself into a billion-degree blob of plasma. "This would present a packaging problem," Lloyd admits … The computer would be capable of performing 10 51 operations per second. - Charles Seife, Science Magazine, Vol 289, No 5484, Sep 1 2000, pp. 1447-1448

11 Course ReviewCSE 326 Autumn 200111 Big Bang ApocaLap, 1 year ApocaLap, 1 sec 1000 MIPS since Big Bang 1000 MIPS, 1 day

12 Course ReviewCSE 326 Autumn 200112 Stuff we did  Lists  Stacks  Queues  Search trees, in many flavors (BST, AVL, splay)  Heaps, in many flavors (binary, d, leftist, skew)  Hashing  Graphs, spanning trees  Graph algorithms (Dijkstra’s, Kruskal’s, Prim’s)  Asymptotic complexity  Recursion analysis  Sorting, in many flavors  Randomization (treaps, skip lists)

13 Course ReviewCSE 326 Autumn 200113 Stuff we didn’t get to  Algorithm Design  Greedy  Divide and conquer  Backtracking  Dynamic programming  Amortized Analysis (formal mechanisms)  NP-Completeness  At least enough to qualitatively distinguish P and NP problems : - (

14 Course ReviewCSE 326 Autumn 200114 Are we convinced yet? Mastery of this material separates you from …

15 Course ReviewCSE 326 Autumn 200115 Coming Attractions  Wed Dec 12: wrap-up and closing ceremony  Wed Dec 12 3:30-4:30pm: Case Study  Better Living through Graphs and Trees  Sun Dec 16: Final Exam Review Session  Time/place TBD To do study for … Final Exam Mon, Dec 17 2:30pm, MGH 389


Download ppt "CSE 326 Course Review David Kaplan Dept of Computer Science & Engineering Autumn 2001."

Similar presentations


Ads by Google