0% found this document useful (0 votes)
8 views

Midterm Study Guide

Uploaded by

shahrozarshad157
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Midterm Study Guide

Uploaded by

shahrozarshad157
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

CS 312 Study Guide for Midterm Exam

The exam is closed book and will have a time limit of three hours, you will be allowed one
page of notes that you must create yourself (the purpose of the page of notes is two fold: 1)
to enhance your preparation through your deciding what to include and how to represent it
and 2) to obviate the need for memorizing details.) This page of notes should be an
ancillary study aid and should not be used as an attempt to take the place of core
knowledge and understanding but rather to enhance it. Note that for all algorithms you
should be able to figure out time and space complexity.

The exam will consist of problems similar to those encountered on the homework. You
should be prepared to answer questions over any of the material in the reading or that we
covered in class. The following topic list gives a good, high-level coverage of the material
for which you should be prepared to answer questions:

• Analyzing algorithms
o correctness, complexity, can we do better?
• Asymptotic Analysis
o Big O, Big Θ, and Big Ω
• Basic arithmetic algorithms and complexity
o Addition, multiplication, modular arithmetic, modular exponentiation,
modular inverse/division, Euclid’s GCD
• Primality testing
o Fermat’s little theorem, probabilistic nature
• Divide and Conquer
o Paradigm/How is speed up attained, mergesort, quicksort, multiply, matrix
multiply, convex hull, selection (median)
• Master Theorem
o How to use it, what does it tell us, geometric series intuition
• Graph connectedness
o Graph representation, Depth First Search, search tree and pre/post order
values, cycle-detection, DAGs, linearization, finding strongly connected
components
• Graph paths
o Breadth First Search, Dijkstra’s algorithm, priority queue
implementations/complexity, negative edges, Bellman-Ford, shortest DAG
paths
• Greedy algorithms
o Paradigm/philosophy, Minimum Spanning Tree with Kruskal’s/Prim’s,
Huffman coding, Horn Formulas, Set Cover problem

You might also like