You are on page 1of 2

# CSC 3110 Midterm 1 Study Guide

## Date: Tuesday 10/11/2016

Time: 6:00 PM to 7:20 PM
Place: 216 STAT
Exam policies
 Closed book, closed notes. Calculators are NOT allowed.
 The exam begins promptly at 6:00pm and ends at 7:20pm.
General Guidelines:
 The exam will consist of multiple choice and short answer questions.
 I will give you whatever Mathematical formulas that you need from Appendix A, but
you need to know how to use them.
 Whenever I mention concepts, I expect a thorough understanding as I may ask you to
explain the ideas behind what we covered.
 We have studied many algorithms. In general, for each algorithm, you should know
the following:
o How the algorithms works.
o Given an example, show how the algorithm would process that example (e.g.,
show the result of one pass of insertion sort).
o Calculate number of time a specific operation is performed.
o Know the runtime of the algorithm.
 Given a problem to solve, you should be able to decide which design techniques is
most appropriate for that problem, and generate algorithm to solve it.
 Given an algorithm or pseudocode, you should be able to analyze the computational
complexity of that algorithm.
 You should understand the basic theory of algorithmic analysis (O, Θ, Ω)
 Chapter 1:
o Know how to use the various formulas for logarithms and summations.
o Understand the fundamentals of algorithm problem solving.
o Understand the different problem types.
o Understand the fundamental data structures being used.
 Chapter 2:
o Running time and Basic operation
o Orders of growth
 Worst, Average, and Best cases
o Asymptotic notations (Big “Oh”, Big Omega, and Big Theta)
o Comparing orders of growth
o Basic Efficiency Classes
o Mathematical analysis of recursive and nonrecursive functions
o Backwards substitution
 Chapter 3:
o Understand thoroughly the underlying concepts and motivation behind brute
force and exhaustive search. You should be able to develop a brute force
algorithm from scratch if requested.
o Selection Sort
o Bubble Sort
o Sequential Search
o String Matching
o Exhaustive Search: Travelling Salesman Problem and knapsack Problem.
o BFS and DFS
 Chapter 4:
o Understand thoroughly the underlying concepts and motivation behind
decrease and conquer algorithms. You should be able to develop one from
scratch if requested.
o Insertion sort
o Topological Sorting
o Permutation and subset generating algorithms.
o Binary Search.
o Fake Coin Problem.
o Russian peasant multiplication.
o Josephus Problem.
Topics are not included:
Closest pair and Convex Hull (page 109 - 112).
Assignment problem (page 119).