Final Review - PowerPoint PPT Presentation

About This Presentation
Title:

Final Review

Description:

Understand ADTs including BST, Heap, Priority Queue, AVL trees. Understand hashing ... Key to perform rotation: identify the nearest ancestor with BF of 2 or -2 for ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 26
Provided by: yingwuj
Category:

less

Transcript and Presenter's Notes

Title: Final Review


1
Final Review
  • Dr. Yingwu Zhu

2
Goals
  • Use appropriate data structures to solve
    real-world problems
  • E.g., use stack to implement non-recursive BST
    traversal,
  • use queue to implement BST level traversal,
  • use stack to implement non-recursive quicksort
  • Use appropriate algorithms to slove real-world
    problems
  • Search algorithms
  • Sorting algorithms

3
Goals
  • Use Big-Oh notation to evaluate algorithm
    efficiency
  • Understand ADTs including BST, Heap, Priority
    Queue, AVL trees
  • Understand hashing
  • Understand sorting algorithms

4
ADTs
  • Tree terminologies
  • BST
  • AVL Trees
  • Heap
  • Priority Queue

5
Trees
  • Binary trees
  • Complete trees
  • Balanced trees
  • Level
  • Height

6
BST
  • Definition
  • Recursive ADT
  • Implementing a BST (recursive and non-recursive)
  • Search
  • Traversals (in-order, pre-order, post-order)
  • Insertion
  • Deletion
  • Other operations height, level,

7
BST
  • T(n) ?
  • Is BST balanced?
  • Lopsidedness problem!
  • BST ? AVL trees

8
AVL Trees
  • Definition
  • Four rotation techniques
  • Single rotations
  • Double rotations
  • Key to perform rotation identify the nearest
    ancestor with BF of 2 or -2 for the inserted
    item
  • Two steps in double rotations
  • Rotate child and grandchild nodes of the ancestor
  • Rotate the ancestor and the new child node

9
Heap
  • Defintion
  • Recusive data structure
  • Semiheap
  • What data structures are good to implement a
    heap? Why?
  • Parent-child relationships

10
Heap
  • Implementation
  • Insertion
  • Deletion
  • removeMax
  • Other operations?
  • Two basic operations
  • Percolate down
  • Percolate up

11
Priority Queue
  • Definition
  • Using different ADTs to implement priority queue
  • Unsorted lists
  • Sorted lists
  • BST
  • Heap
  • Why heap is a good choice?

12
Hashing
  • Why need hashing?
  • Definition of hash function?
  • Problem of hashing collision

13
Hashing
  • Collision resolution techniques
  • Open addressing
  • Linear probing
  • Quadratic probing
  • Double hashing
  • Chaining

14
Hashing
  • Three strategies to improve hashing performance
  • Increase hash table capacity
  • Use a good hash function (how to evaluate a hash
    function?)
  • Use a good collision resolution technique

15
Algorithm Efficiency
  • Big-Oh notation definition T(n)
  • Non-recursive algorithms
  • The most executed instruction
  • Recursive algorithms telescoping principal
  • Anchor case
  • Inductive step

16
Sort
  • Selection sort, insertion sort, bubble sort
  • Heapsort
  • Quicksort
  • Mergesort

17
Selection Sort
  • How does it work?
  • T(n) ?

18
Insertion Sort
  • How does it work?
  • T(n) ?
  • Recursive and Non-recursive algorithms

19
Bubble Sort
  • How does it work?
  • How does it detect partially sort sublist to
    improve performance
  • T(n) ?
  • Best case performance
  • Worst case performance
  • Two-way bubble sort in Exam 2

20
Quicksort
  • How does it work?
  • Devide and conquer
  • Basic operation
  • Split based on pivot
  • T(n) ? , best case and worst case?

21
Quicksort
  • How to improve performance
  • Median-of-three rule in pivot choice
  • Short sublists are handle first in recursive alg.
  • Non-recursive
  • Other solutions

22
Mergesort
  • Internal and external algorithm
  • Basic operation split and merge
  • Binary mergesort
  • Natural mergesort
  • How does natural merge sort work?
  • Exploit partially sort sublists in split and
    merge
  • T(n) ?

23
Heapsort
  • Heapify process
  • How does heapsort work?
  • Exploits heap property
  • T(n) ?

24
Other Basics
  • Iterators and vectors in STL
  • Function templates and class templates
  • Overloading operators
  • Overloading functions
  • Copy constructors

25
About Final Exam
  • Must gt 75 to pass
  • Multiple choices
  • Short answers
  • Coding
  • Reminder do not loose points in basic concept
    questions!
  • Good luck!
Write a Comment
User Comments (0)
About PowerShow.com