Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Structures and Algorithms

Similar presentations


Presentation on theme: "Data Structures and Algorithms"— Presentation transcript:

1 Data Structures and Algorithms
A Summary

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

3 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

4 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 floorEntry, ceilingEntry subMap Graphs Adjacency lists, matrices (arrays), Edge lists getAdjacentVertices, getEdge Insert/delete vertex/edge Traverse: depth-first, breadth-first Data Structures

5 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 floorEntry, ceilingEntry subMap Graphs Adjacency lists, matrices (arrays), Edge lists getAdjacentVertices, getEdge Insert/delete vertex/edge Traverse: depth-first, breadth-first Data Structures

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

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

8 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

9 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

10 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

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

12 Final Exam May 1, Monday, 6-8pm, OLS 130 (regular classroom)
As stated in the syllabus [NOT common exams on May 3, which might have time conflicts for some of you] Graphs, Text Processing, Search Trees, Sorting Mother’s Day Special Extra credit More questions ~30 points


Download ppt "Data Structures and Algorithms"

Similar presentations


Ads by Google