Data Structures and Algorithms

Slides:



Advertisements
Similar presentations
Algorithm Design Techniques
Advertisements

Transform and Conquer Chapter 6. Transform and Conquer Solve problem by transforming into: a more convenient instance of the same problem (instance simplification)
DATA STRUCTURES & ANALYSIS OF ALGORITHMS
Lecture 16: Tree Traversal.
Advanced Data Structures
TDDB57 DALG-C, DALG Exam Requirements Jan Maluszynski - HT 2006DALG-C.1 TDDB57 – DALG-C Examination Requirements.
CS 104 Introduction to Computer Science and Graphics Problems Data Structure & Algorithms (4) Data Structures 11/18/2008 Yang Song.
Course Review COMP171 Spring Hashing / Slide 2 Elementary Data Structures * Linked lists n Types: singular, doubly, circular n Operations: insert,
Chapter 10: Algorithm Design Techniques
CS 206 Introduction to Computer Science II 04 / 29 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 12 / 10 / 2008 Instructor: Michael Eckmann.
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
CS112A1 Spring 2008 Practice Final. ASYMPTOTIC NOTATION: a)Show that log(n) and ln(n) are the same in terms of Big-Theta notation b)Show that log(n+1)
10/20/20151 CS 3343: Analysis of Algorithms Review for final.
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.
Final Exam Review CS Total Points – 60 Points Writing Programs – 50 Points Tracing Algorithms, determining results, and drawing pictures – 50.
CS223 Advanced Data Structures and Algorithms 1 Review for Final Neil Tang 04/27/2010.
Review for Final Exam – cs411/511 Definitions (5 questions, 2 points each) Algorithm Analysis (3 questions, 3 points each) General Questions (3 questions,
CSE205 Review Session SAMUEL & JESSA. Recursion WHAT IS RECURSION?  Recursion is a tool a programmer can use to invoke a function call on itself. 
Queues, Stacks and Heaps. Queue List structure using the FIFO process Nodes are removed form the front and added to the back ABDC FrontBack.
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 29 April 2004.
CS4710 Algorithms. What is an Algorithm? An algorithm is a procedure to perform some task. 1.General - applicable in a variety of situations 2.Step-by-step.
Week 10 - Friday.  What did we talk about last time?  Graph representations  Adjacency matrix  Adjacency lists  Depth first search.
CSE 340: Review (at last!) Measuring The Complexity Complexity is a function of the size of the input O() Ω() Θ() Complexity Analysis “same order” Order.
Week 15 – Wednesday.  What did we talk about last time?  Review up to Exam 1.
 Saturday, April 20, 8:30-11:00am in B9201  Similar in style to written midterm exam  May include (a little) coding on paper  About 1.5 times as long.
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 28 April 2005.
Final Exam Review CS Total Points – 20 Points Writing Programs – 65 Points Tracing Algorithms, determining results, and drawing pictures – 50.
Course Review Fundamental Structures of Computer Science Ananda Guna May 04, 2006.
Final Exam Review COP4530.
Final Exam Review CS 3358.
CSCE 210 Data Structures and Algorithms
Data Structures and Algorithms
Set Collection A Bag is a general collection class that implements the Collection interface. A Set is a collection that resembles a Bag with the provision.
Chapter 12 – Data Structures
Data Structures Lab Algorithm Animation.
CSE 326: Data Structures: Advanced Topics
Topics Covered after Mid-Term
Chapter 5 : Trees.
Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008
Midterm Review.
Exam Hints.
Week 11 - Friday CS221.
DATA STRUCTURES AND OBJECT ORIENTED PROGRAMMING IN C++
Cse 373 April 26th – Exam Review.
i206: Lecture 13: Recursion, continued Trees
CS302 Data Structures Fall 2012.
CS 3343: Analysis of Algorithms
Map interface Empty() - return true if the map is empty; else return false Size() - return the number of elements in the map Find(key) - if there is an.
CS 3343: Analysis of Algorithms
Design and Analysis of Algorithms (07 Credits / 4 hours per week)
CSE 326: Data Structures: Midterm Review
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
Final Exam Review COP4530.
ITEC 2620M Introduction to Data Structures
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
EE 312 Final Exam Review.
Important Problem Types and Fundamental Data Structures
Major Design Strategies
Analysis and design of algorithm
Design and Analysis of Algorithms (04 Credits / 4 hours per week)
Review for Final Neil Tang 05/01/2008
Major Design Strategies
Presentation transcript:

Data Structures and Algorithms A Summary

Data Structures Data Structures Underlying Data Structures Main Operations Arrays, Linked lists Queues, Stacks Trees Priority Queues Maps Ordered Maps Graphs Data Structures

Data Structures Data Structures Underlying Data Structures Main Operations Arrays, Linked lists Queues, Stacks Trees Arrays, Linked structures Priority Queues Arrays, Linked lists, Heaps Maps Arrays, Hash tables Ordered Maps Sorted arrays, Skip lists, Binary search trees , AVL trees, (2,4) trees Graphs Adjacency lists, matrices (arrays), Edge lists Data Structures

Data Structures Data Structures Underlying Data Structures Main Operations Arrays, Linked lists Get, Set, Traverse, Insert, Delete Queues, Stacks Insert: enqueue, push Delete: dequeue, pop Trees Arrays, Linked structures Children, Parent Traverse: preorder, inorder, postorder, breadth-first Priority Queues Arrays, Linked lists, Heaps Insert: put Delete: removeMin Set: replaceKey, replaceValue Maps Arrays, Hash tables Find: get Insert: put; Delete: remove Ordered Maps Sorted arrays, Skip lists, Binary search trees , AVL trees, (2,4) trees Map operations plus floorEntry, ceilingEntry subMap Graphs Adjacency lists, matrices (arrays), Edge lists getAdjacentVertices, getEdge Insert/delete vertex/edge Traverse: depth-first, breadth-first Data Structures

Data Structures Data Structures Underlying Data Structures Main Operations Arrays, Linked lists Get, Set, Traverse, Insert, Delete Queues, Stacks Insert: enqueue, push Delete: dequeue, pop Trees Arrays, Linked structures Children, Parent Traverse: preorder, inorder, postorder, breadth-first Priority Queues Arrays, Linked lists, Heaps Insert: put Delete: removeMin Set: replaceKey, replaceValue Maps Arrays, Hash tables Find: get Insert: put; Delete: remove Ordered Maps Sorted arrays, Skip lists, Binary search trees , AVL trees, (2,4) trees Map operations plus floorEntry, ceilingEntry subMap (Traverse) Graphs Adjacency lists, matrices (arrays), Edge lists getAdjacentVertices, getEdge Insert/delete vertex/edge Traverse: depth-first, breadth-first Data Structures

General Algorithm Types Characteristics Examples Brute Force try all possibilities usually the baseline algorithm Basic pattern matching

General Algorithm Types Characteristics Examples Brute Force try all possibilities usually the baseline algorithm Basic pattern matching Greedy given multiple possibilities at each iteration select the ‘best’ one and do not look back may not be optimal for some problems Dijkstra (Shortest Path), Kruskal, Prim (Minimum Spanning Tree), Huffman (Compression)

General Algorithm Types Characteristics Examples Brute Force try all possibilities usually the baseline algorithm Basic pattern matching Greedy given multiple possibilities at each iteration select the ‘best’ one and do not look back may not be optimal for some problems Dijkstra (Shortest Path), Kruskal, Prim (Minimum Spanning Tree), Huffman (Compression) Divide and Conquer decompose into separate subproblems and compose solutions usually recursive and top-down Mergesort, Quicksort

General Algorithm Types Characteristics Examples Brute Force try all possibilities usually the baseline algorithm Basic pattern matching Greedy given multiple possibilities at each iteration select the ‘best’ one and do not look back may not be optimal for some problems Dijkstra (Shortest Path), Kruskal, Prim (Minimum Spanning Tree), Huffman (Compression) Divide and Conquer decompose into separate subproblems and compose solutions usually recursive and top-down Mergesort, Quicksort Dynamic programming decompose into reoccurring subproblems and compose solutions store “sub-solutions” and use bottom-up Longest Common Subsequence, Matrix Chain Multiplication

Leading to Term Project Lab exercises Understanding of Data Structures and Algorithms (DS&A) Homework assignments Implementation of DS&A further understanding and implementation issues Term project design/choose/implement DS&A deeper understanding tradeoffs and utility

Problem Solving & Term Project Quality of solution Accuracy/points Algorithms Speed of solution Time Algorithms and data structures Space usage of solution Memory Data structures

Final Exam Dec 11, Monday, 6-8pm, OLS 130 (regular classroom) As stated in the syllabus (and FIT website) Graphs , Text Processing, Search Trees, Sorting Christmas Special Extra credit More questions/points