Study Guide for CS 313E Test 3 (Spring 2013) * You should be familiar with the following sorting algorithms - selection sort, bubble sort, insertion sort, merge sort and quick sort. You should be able to trace each of the algorithms for a given array. * You should also be familiar with algorithms that we covered using the following data structures - stacks, queues, linked lists and binary search trees. * You should be able to use a hash function and hash using single probing, quadratic probing, and double hashing. * You should be able to trace the algorithms to create a heap, add or delete nodes from a heap and use heap sort to sort an array. * Show how to balance a binary bearch tree to create an AVL tree. Show how to get the balance factor in a binary search tree and keep the tree balanced after insertions or deletions. * Given an infix arithmetic expression draw the binary expression tree representation of it. Show how to get the prefix and postfix expressions from that tree. * Add functionality to the Graph class that we defined in class. You must be familiar and be able the trace the following graph algorithms - Depth First Search (DFS), Breadth First Search (BFS), Topological Sort, Minimum Cost Spanning Tree using Kruskal's and Prim's algorithm, and Dijkstra's Single Source Shortest Path algorithm. * You may bring two cheat sheets (8.5" x 11") with you that has hand written notes on both sides of the paper.