Exam 1 Review - Texas State University

Download Report

Transcript Exam 1 Review - Texas State University

Final Exam Review
CS 3358
Exam Format
• 150 Total Points
– 20 Points Writing Programs
– 65 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
Example Programming Problem
• Given the ADT for the Stack_3358 at the end of the exam, implement
the push, pop, isEmpty and isFull functions.
Example Tracing Problems
• What is the inorder traversal for the following
BST?
• What would the following heap look like after
inserting 42?
• What would this BST look like after deleting 42?
Example Short Answer
• What is the Big O time analysis of the insert
operation in a doubly linked list when
inserting before the cursor?
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
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?
List ADT
• 20 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
Templates
• 0 Points
– Why?
– Templated functions
– Templated Classes
– Understand the Stack Fun and Sort’em programs
– Important, but not on exam
Stack ADT
• 0 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
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
– Understand the Tree Search program
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
Sorting
• 10 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
Hashing
• 20 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
Trees
• 40 Points
– Definitions
• Terminology: path, depth, height, etc.
– General Trees vs. Binary Trees
– Tree Traversals
• Preorder
• Inorder
• Postorder
– Binary Search Trees
Trees (cont.)
• Binary Search Tree
– Find
– Insert
– Delete
– Count Nodes
• Be able to code anything from BST_3358
• Understand the Tree Search
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
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
HeapSort
• 0 Points
– Basic Algorithm
• Transform array items into heap
• Get smallest item and reheap until heap is empty
– Big O analysis
Not on this exam
• Code examples from the book
– Only what we covered in class and on the
programs
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.
What to bring
• Pencils and erasers
• We will provide scratch paper
• No calculators
Questions