Download presentation
Presentation is loading. Please wait.
Published byImogene McKinney Modified over 5 years ago
1
What is (was) CSE 373? Data structures: Algorithm Analysis
linear: lists, stacks, queues hierarchical: trees, heaps, uptrees complex: graphs other: hash tables Algorithm Analysis RAM model, Big-Oh: allows us to distinguish between different classes of performance (e.g., insertion sort vs. mergesort, AVL trees vs. ordinary BSTs, binary search vs. sequential search) Dec 12, 2001 CSE 373, Autumn 2001
2
Algorithm correctness techniques:
induction contradiction (e.g., Dijkstra, Prim, Kruskal) loop invariants Algorithm performance analysis: induction (e.g., binary search, depth of an AVL tree) simple for loops more complex loops (Dijkstra, Prim, topological sort) recurrence relations (mergesort, quicksort) counting arguments (buildHeap) hash tables Lower bounds: information-theoretic (comparison-based sorting) Dec 12, 2001 CSE 373, Autumn 2001
3
Algorithm Design Techniques
worst case, average case, amortized Algorithm Design Techniques Divide and conquer (binary search, mergesort, quicksort) Greedy (Dijkstra, Prim, Kruskal) Dynamic programming (optimal static binary search trees) Randomized algorithms (quicksort) other: tree traversal, lazy delete, bucket sort Beyond the RAM model B-trees external sorting Dec 12, 2001 CSE 373, Autumn 2001
4
Software Engineering Abstract Data Types
public interface vs. private implementation information hiding experimentation explaining how a program works (comments in code, writing, speaking) Dec 12, 2001 CSE 373, Autumn 2001
5
More generally … Thinking critically about programs
Organizing data in a way that allows for better performance or less memory use Bigger bag of tools to apply to a problem: with choice comes the power and responsibility algorithm analysis model algorithm design program implementation Dec 12, 2001 CSE 373, Autumn 2001
6
It’s only the beginning …
Operating systems Databases Games Graphics AI Compilers Networks Algorithms Operations Research Data Structures 143 142 Dec 12, 2001 CSE 373, Autumn 2001
7
Life after CSE 373 CSE 410: Hardware. CPUs, machine organization, assembly language programming, representation of numbers. CSE 413: Programming languages. Design issues. Compilers for Algol-like languages. CSE 415: Intro to AI. Logic and probabilistic reasoning, learning, language understanding, vision. CSE 417: Algorithms and complexity. Graph and string algorithms: network flow, depth-first search, connected components. Turing machines. Time and space complexity. NP-completeness, undecidable problems. Dec 12, 2001 CSE 373, Autumn 2001
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.