CSE332: Data Abstractions Lecture 28: Course Wrap-up Tyler Robison Summer 2010 1.

Slides:



Advertisements
Similar presentations
Problem Solving Agents A problem solving agent is one which decides what actions and states to consider in completing a goal Examples: Finding the shortest.
Advertisements

Introductory Computer Science Courses Past experiences & thoughts Haakon Ringberg, Thomson Research Paris & Princeton University.
Review. What to know You are responsible for all material covered in lecture, the readings, or the programming assignments There will also be some questions.
CSE332: Data Abstractions Lecture 10: More B-Trees Tyler Robison Summer
CSE332: Data Abstractions Lecture 16: Topological Sort / Graph Traversals Tyler Robison Summer
CSE332: Data Abstractions Lecture 28: Course Wrap-Up / Victory Lap Dan Grossman Spring 2010.
CSE332: Data Abstractions Lecture 12: Introduction to Sorting Tyler Robison Summer
CSCE 210 Data Structures and Algorithms
CS 307 Fundamentals of Computer Science 1 Abstract Data Types many slides taken from Mike Scott, UT Austin.
UnInformed Search What to do when you don’t know anything.
Lecture 13 CSE 331 Oct 2, Announcements Please turn in your HW 3 Graded HW2, solutions to HW 3, HW 4 at the END of the class Maybe extra lectures.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
CS 206 Introduction to Computer Science II 04 / 29 / 2009 Instructor: Michael Eckmann.
CS503: Tenth Lecture, Fall 2008 Review Michael Barnathan.
CS 206 Introduction to Computer Science II 12 / 10 / 2008 Instructor: Michael Eckmann.
More Graph Algorithms Weiss ch Exercise: MST idea from yesterday Alternative minimum spanning tree algorithm idea Idea: Look at smallest edge not.
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
CSCE 3110 Data Structures and Algorithm Analysis.
Data Structures Lecture-1:Introduction
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Chapter 3 List Stacks and Queues. Data Structures Data structure is a representation of data and the operations allowed on that data. Data structure is.
Data Structures and Abstract Data Types "Get your data structures correct first, and the rest of the program will write itself." - David Jones.
CSE332: Data Abstractions Lecture 26: Course Victory Lap Dan Grossman Spring 2012.
CSCA48 Course Summary.
BIM213 – Data Structures and Algorithms Introduction 1.
0 Course Outline n Introduction and Algorithm Analysis (Ch. 2) n Hash Tables: dictionary data structure (Ch. 5) n Heaps: priority queue data structures.
CSE332: Data Abstractions Lecture 8: Memory Hierarchy Tyler Robison Summer
Review for Final Andy Wang Data Structures, Algorithms, and Generic Programming.
 Analysis Wrap-up. What is analysis?  Look at an algorithm and determine:  How much time it takes  How much space it takes  How much programming.
December 4, Algorithms and Data Structures Lecture XV Simonas Šaltenis Aalborg University
CS Data Structures II Review & Final Exam. 2 Topics Review Final Exam.
Review and Prepare for Test 3 CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and Computer Science.
CSE 326: Data Structures Lecture #12 Splay It Again, Sam Steve Wolfman Winter Quarter 2000.
Final Exam Tuesday, December 22nd 2:00 - 3:50pm room 102 Warren Weaver Hall.
Review for Final Exam – cs411/511 Definitions (5 questions, 2 points each) Algorithm Analysis (3 questions, 3 points each) General Questions (3 questions,
CSE 326: Data Structures Lecture #11 AVL and Splay Trees Steve Wolfman Winter Quarter 2000.
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 29 April 2004.
Fall 2015, Kevin Quinn CSE373: Data Structures & Algorithms Lecture 25: Problem Solving CSE373: Data Structures and algorithms1.
Week 15 – Wednesday.  What did we talk about last time?  Review up to Exam 1.
CSE 326 Course Review David Kaplan Dept of Computer Science & Engineering Autumn 2001.
CSE332: Data Abstractions Lecture 12: Introduction to Sorting Dan Grossman Spring 2010.
Data Structures and Algorithms in Java AlaaEddin 2012.
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 28 April 2005.
CSE 326: Data Structures Lecture #6 Putting Our Heaps Together Steve Wolfman Winter Quarter 2000.
Programming Abstractions Cynthia Lee CS106B. Topics:  Continue discussion of Binary Trees › So far we’ve studied two types of Binary Trees: Binary Heaps.
COMPUTER NETWORKS Quizzes 5% First practical exam 5% Final practical exam 10% LANGUAGE.
1 i206: Lecture 17: Exam 2 Prep ; Intro to Regular Expressions Marti Hearst Spring 2012.
CSC 172 DATA STRUCTURES. MIDTERM REVIEW MIDTERM EXAM 75 min 6 – 10 questions a lot like the quiz questions.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
CSCE 210 Data Structures and Algorithms
Data Structures and Algorithms
May 12th – Minimum Spanning Trees
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone:
Computer Science 102 Data Structures CSCI-UA
Cse 373 April 26th – Exam Review.
Data Structures and Algorithms
structures and their relationships." - Linus Torvalds
Definition In simple terms, an algorithm is a series of instructions to solve a problem (complete a task) We focus on Deterministic Algorithms Under the.
CSE 326: Data Structures: Midterm Review
structures and their relationships." - Linus Torvalds
What to do when you don’t know anything know nothing
Introduction to Computer Science for Majors II
CSE332: Data Abstractions Lecture 18: Minimum Spanning Trees
Review CSE116 2/21/2019 B.Ramamurthy.
Overview Analysis Notation Specific ADTs
Final Review B.Ramamurthy 5/8/2019 BR.
structures and their relationships." - Linus Torvalds
Presentation transcript:

CSE332: Data Abstractions Lecture 28: Course Wrap-up Tyler Robison Summer

Merging 2 So, we’ve spent the quarter exploring many different data structures; time to merge back together:

Some unexplored nodes 3  Alternative data structures for balanced trees, priority queues  Disjoint-set data structure (union-find)  AVL deletion  Max-flow / min-cut graph algorithms  Huffman coding (compression)

What we’ve covered 4  Really just a beginning  Many other priority queues: skew heap, leftist heap, binomial queue, …  Many other dictionaries: red/black tree, splay tree, …  Many variations on hash tables  Many variations on B-Trees  Many other sorts, graph algorithms, etc.  Just scratched the surface of concurrency  Run-time/recurrence-relation analysis go much deeper

What we’ve covered 5  But we’ve covered the foundation  Many priority queues, but binary heaps are among the most common  Many dictionary data structures; among which balanced trees and hash tables are most important  Graph theory is an enormous area, but the basics will get you a long ways  Parallelism/concurrency issues covered are all that’s needed for many situations

And now 6  You should now be equipped to  Learn new data structures & ADTs  ‘Once you learn one programming language, others come much easier’  Understand/analyze run-times  Understand uses & trade-offs  In general make more informed use of them in programming  Have had experience writing/debugging/testing data structures & parallel/concurrent software  More experience with proofs  Maybe not up to proving P!=NP, but still  Know a bunch of tools, and know how to pick the right tool for the job

Applications 7  Hash tables: Everywhere  Seriously, everywhere  If you’re interviewing for a programming job/internship, hash table questions are likely candidates  Data Bases: B-Trees under the hood  Graphs show up in CS again and again  Just very useful for modeling stuff:  Computer networks  Power grids  Road systems  Social networks  Knowledge/concept maps

Applications 8  Parallelism & Concurrency  Increasingly important  Many more cores is likely the future of computing hardware  Programming for many cores is going to be important  Speed, and thus parallelism, hugely important in many areas  Games (Xbox 360: 3 cores)  Servers  Scientific/mathematical simulations  Many others; anything concerned with speed  Concurrency problems pop up even in some simple Java applications  Ex: Handling GUI events  Big Oh analysis: ubiquitous in CS  Now some specific examples in AI; trees & graphs

Trees & Traversals 9 Problem space as tree Want to find optimal solution BFS & iterative deepening search both work well Better technique called A* search: Instead of ‘closest’ or ‘furthest’, choose lowest cost=g( )+h( ) g( ) is cost so far h( ) is expected distance to goal

Decision Trees 10 Basis for simple decision-making agents Algorithms to create optimal decision tree: Take set of labeled data (‘Sunny,Normal Humidity,Strong Wind: Yes’) Uses ‘information gain’ to decide what attribute to ask about next Of course, real decision trees likely to be much larger Ex: Face detection features

Neural Networks 11 Usually DAG of ‘neurons’ Edges represent how information propagates from input nodes (observations) to output nodes (decision) Uses include OCR: Conceptually have each pixel as a binary input Each output represents a character: ‘Is this image a 9?’

Thanks! 12  Extra office hours