1 / 25

Final Exam Review

This final exam review covers topics such as writing programs, tracing algorithms, short answer questions, and multiple choice questions. It includes relevant keywords like programming, tracing, short answer, multiple choice, analysis of algorithms, Bag ADT, List ADT, Stack ADT, Queue ADT, recursion, sorting, hashing, trees, heaps, priority queues, HeapSort, and final project.

janiceb
Download Presentation

Final Exam Review

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Final Exam Review CS 3358

  2. Exam Format • 175 Total Points • 60 Points Writing Programs • 50 Points Tracing Algorithms, determining results, and drawing pictures • 50 Points Short Answer • 15 Multiple Choice • Similar to quizzes and programming assignments • Note: the point values are approximations

  3. Example Programming Problem • Given the ADT for the Stack_3358 at the end of the exam, implement the push, pop, isEmpty and isFull functions.

  4. Example Tracing Problems • What is the inorder traversal or the following BST? • What would the following heap look like after inserting 42? • What would this BST look like after deleting 42?

  5. Example Short Answer • What is the Big O time analysis of the insert operation in a doubly linked list when inserting before the cursor?

  6. Review of 2308 • ?? Points • Multiple files • Using header files • Command line arguments • OOP concepts. Especially those most useful for containers. • Overloaded operators • Copy constructors • Pointer variables • Understand the Climate and Go Fish programs • Obviously important concepts for the rest of the topics

  7. Analysis of Algorithms • 30 points • Don’t memorize definition • Does the amount of work depend on the size of the input? • Should be able to rank as faster or slower • Be able to analyze algorithms and code and determine Big O time analysis • Especially most common. O(1), O(n), O(n2), O (log2n) • Look for loops • How fast does the problem shrink?

  8. Bag ADT • 0 points • Know how to use it • Won’t need to implement any of it • May need to do time analysis of a particular implementation • Don’t memorize any of the interface • Understand the Go Fish program

  9. List ADT • 10 Points • Know the definition of the List ADT • May have to implement • Array-based list • Pointer-based linked list • Array-based linked list • Pointer-based doubly-linked list • Array-based doubly-linked list • Be able to do the time analysis for any of the functions in the List ADT definition we used for the program • Understand the List ADT program

  10. Templates • 0 Points • Why? • Templated functions • Templated Classes • Understand the Stack Fun and Sort’em programs • Important, but not on exam

  11. Stack ADT • 10 points • Understand basic functions • Push • Pop • IsEmpty • isFull • Should be able to implement array or linked list version of stack • Be able to use a stack to solve a problem • How does a stack relate to recursion? • Understand Stack Fun assignment

  12. Queue ADT • 10 Points • Know the basic functions • Enqueue • Dequeue • isFull • isEmpty • Be able to implement circular array-based queue • Be able to implement a linked list version of a queue

  13. Recursion • 20 Points • Understand • Base case • Smaller caller • General case • Will have to write a recursive function • Be able to do time analysis of a recursive function • Understand math stuff, recursive flood fill, and especially binary search trees

  14. Sorting • 20 Points • Algorithms • Will not have to code the sorts • Will likely have to draw or trace • Time and space considerations • O(n2) sorts • Selection sort • Insertion sort • O(nlog2n) sorts • Mergesort • Quicksort

  15. Hashing • 16 Points • Hash tables • Hash Functions • Using strings as keys • Collisions • Separate chaining • Open Addressing • Linear probing • Quadratic probing • Double Hashing • Be able to hash a list of keys given a function and collision strategy

  16. Trees • 50 Points • Definitions • Terminology: path, depth, height, etc. • General Trees vs. Binary Trees • Tree Traversals • Preorder • Inorder • Postorder • Binary Search Trees

  17. Trees (cont.) • Binary Search Tree • Find • Insert • Delete • Count Nodes • Be able to code anything from BST_3358 • Except the delete (but understand the algorithms)

  18. Heaps • 15 Points • Definitions • Full binary tree • Complete binary tree • Array-based implementation of binary trees • Parent-child relationships • Calculations to find nodes • Heap property • ReheapDown, ReheapUp

  19. Priority Queues • 5 Points • Can be implemented as a heap • Know the algorithms • enQueue • deQueue • Be able to figure out Big O analysis of operations

  20. HeapSort • 5 Points • Basic Algorithm • Transform array items into heap • Get smallest item and reheap until heap is empty • Big O analysis

  21. Final Project • 15 Points • Be able to describe how you did various portions of the program. • Opened list of files • Parsed text • Determined similarity between files • Data structures you used

  22. Not on this exam • Code examples from the book • Only what we covered in class and on the programs

  23. How to Study • Review the programs. • Rewrite them if you have time (especially the parts you had trouble with) • Learn by doing and recognizing patterns. • Use the exam for clues on the other problems and for help with syntax. • Don’t stay up late!! Get some sleep and eat a good breakfast.

  24. What to bring • Pencils and erasers • We will provide scratch paper • No calculators

  25. Questions

More Related