CS 344  Rutgers Study Resources

Third_practice
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Practice Questions and Reading Material The nal exam is cumulative and will include problems relating to all the lectures. Please go over all three study guides. The current study guide includ

Hw_1_sol
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Homework 1  Solutions Asymptotic and Number Theoretic Algorithms Part A (20 points) 1 Problem 1: In each of the following situations indicate whether = O(g) or = (g) or = (g): Note: The g n f

Hw_2_sol
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2013 Homework 2 Solutions DivideandConquer Algorithms, Sorting Algorithms, Greedy Algorithms Problem 1 [20 points] The more general version of the Master Theorem is the following. Given a recurre

Hw_2
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Homework 2 DivideandConquer Algorithms, Sorting Algorithms, Greedy Algorithms Deadline: March 14, 11:59pm. Available points: 110. Perfect score: 100. Homework Instructions: Teams: Homeworks

Hw_1
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Homework 1 Asymptotics and Number Theoretic Algorithms Deadline: February 18, 11:59pm. Available points: 120. Perfect score: 100. Homework Instructions: Teams: Homeworks should be completed by

Homework 5
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: #5 More comparison stu FarachColton Due by 5:00pm, Oct. 11. 1. The mode of an array is the most frequent element of the array. Give an algorithm to nd the mode of an array. Analyze its complexity. As always, the faster the algorithm, th

Homework 4
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: #4 Trees and Whatnot FarachColton Due by 5:00pm, Oct. 4. 1. Prove that a forest consisting of k trees with a total of n nodes has n k edges. (20 points) 2. Let G = (V, E, W ) be a weighted graph such that no two dierent edges in E have

Homework 3
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: #3 Sorting FarachColton Due by 5:00pm, Sept. 27. 1. The merge algorithm presented in class was not in place. Assume you are given an array A[1], ., A[n] where A[1], ., A[k ] is one sorted list and A[k + 1], ., A[n] is another sorted lis

Homework 2
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: #1 Math Fundamentals FarachColton Due by 5:00pm, Due: Sept. 20. 1. Prove that log(n!) (n log n). (15 points) 2. Let f (n) = 2n , g (n) = 3n . Is f (n) in O(g (n)? Is g (n) in O(f (n)? Prove your answer. (10 points) 3. Let f (n) = n2 , g

Hw_3_sol
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2013 Homework 3 Solutions TITLE Part A (20 points) Problem 1: Let Track 1 to have n points and track 2 to have m points. We need two tables, each one for the Euclidean distances between every pair

Hw_3
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Homework 3 Dynamic Programming and Graph Search Deadline: April 4, 11:59pm. Available points: 110. Perfect score: 100. Homework Instructions: Teams: Homeworks should be completed by teams of s

Second_practice
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Practice Questions and Reading Material Note: The chapters and exercises from the books are provided as supportive references for the material covered during the lectures. Greedy Algorithms: H

First_practice
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Practice Questions and Reading Material Note: The material from the books is provided as a supportive reference for the material covered during the lectures. Introduction to Concepts of Algori

Midterm2_sol
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Midterm Exam Name: Perfect score: 100 points  Available points: 112. No notes or books are allowed. A. Specify whether the entire following statements are true or false and argue why:  A dyn

Midterm1_sol
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Midterm Exam Name: Perfect score: 100 points  Available points: 112. No notes or books are allowed. A. Specify whether the following statements are true or false and argue why:  For any pair

Hw_5_sol
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Homework 5 Minimum Spanning Trees, NPComplete Problems and Approximation Algorithms Deadline: May 6, 11:59pm. Available points: 110. Perfect score: 100. Homework Instructions: Teams: Homework

Hw_5
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Homework 5 Minimum Spanning Trees, NPComplete Problems and Approximation Algorithms Deadline: May 6, 11:59pm. Available points: 110. Perfect score: 100. Homework Instructions: Teams: Homework

Hw_4_sol
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Homework 4  Solutions Problem 1: After Storm Sandy leaves, the small town of New Town is undergoing an electricity power shortage. To recover the electricity service in the town, the local el

Hw_4
School: Rutgers
Course: Design And Analysis Of Algorithms
CS 344: DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS SPRING 2014 Homework 4 Searching for Paths on Graphs Deadline: April 20, 11:59pm. Available points: 110. Perfect score: 100. Homework Instructions: Teams: Homeworks should be completed by teams of student

Homework 1
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: #1 Math Fundamentals FarachColton Due by 5:00pm, Due: Sept. 13. 1. Prove, using the denitions, that loga x = logb x. loga b Prove that log x x = . y log y 2. Prove by induction on k : (Remember these formulas, they may be used later) (a

Practice Questions
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: Practice Questions FarachColton Due by 5:00pm, on . 1. Suppose I take an array A[1, . . . , n] of integers and create a new array B [1, . . . , n+ 1] as follows: First, B [1, . . . , n] = A[1, . . . , n]. Now, I pick some i without tell

Practice Exam 1
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 1994 Farach CS 344: (Practice) Exam #1 Books and notebooks may be consulted. Any theorem proven in class or algorithm presented in class can be used. Theorems or algorithms that were mentioned but not presented can only be used if you prove them. 1.

Greedy Algorithms
School: Rutgers
Greedy algorithms are simple and straightforward. They are shortsighted in their approach in the sense that they take decisions on the basis of information at hand without worrying about the effect these decisions may have in the future. They are easy to

Graph Algorithms
School: Rutgers
Graph Theory is an area of mathematics that deals with following types of problems Connection problems Scheduling problems Transportation problems Network analysis Games and Puzzles. The Graph Theory has important applications in Critical path analysis, S

Dynamic Table
School: Rutgers
If the allocated space for the table is not enough, we must copy the table into larger size table. Similarly, if large number of members erased from the table, it is good idea to reallocate the table with a smaller size. Using amortized analysis we shall

Dynamic Programming
School: Rutgers
Dynamic programming is a fancy name for using divideandconquer technique with a table. As compared to divideandconquer, dynamic programming is more powerful and subtle design technique. Let me repeat , it is not a specific algorithm, but it is a meta

Divide And Conquer
School: Rutgers
Divideandconquer is a topdown technique for designing algorithms that consists of dividing the problem into smaller subproblems hoping that the solutions of the subproblems are easier to find and then composing the partial solutions into the solution o

Binary Search Tree
School: Rutgers
Binary Search tree is a binary tree in which each internal node x stores an element such that the element stored in the left subtree of x are less than or equal to x and elements stored in the right subtree of x are greater than or equal to x. This is cal

Approximate
School: Rutgers
An approximate algorithm is a way of dealing with NPcompleteness for optimization problem. This technique does not guarantee the best solution. The goal of an approximation algorithm is to come as close as possible to the optimum value in a reasonable am

Graph Algorythms
School: Rutgers
Elementary Graph Algorithms CSE 680 Suggested Reading: Appendix B4, Chapter 22 1 Graphs G(V, E)  V : vertex set; E: edge set. Directed graphs, undirected graphs, weighted graphs. An edge is incident on, incident from, or incident to a vertex.

Hash Tables
School: Rutgers
Directaddress table If the keys are drawn from the reasoning small universe U = cfw_0, 1, . . . , m1 of keys, a solution is to use a Table T[0, . m1], indexed by keys. To represent the dynamic set, we use an array, or directaddress table, denoted by T

Inequalities
School: Rutgers
Inequalities The term inequality is applied to any statement involving one of the symbols <, >, ,. Example of inequalities are: i. ii. iii. iv. x1 x + y + 2z > 16 p2 + q2 1/2 a2 + ab > 1 Fundamental Properties of Inequalities 1. If a b and c is any real n

Midterm Exam
School: Rutgers
Course: Design And Analysis Of Algorithms
CS344. Algorithms and Data Structures MidTerm Exam I (Thursday October 18, 2012. 5.00 PM to 6.20 PM, Total Points: 100) You may consult your single cheat sheet. Any theorem or algorithm presented in class in class can be used. All other theorems or algo

Homework 8
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: #8 More Reductions FarachColton Due by 4:00pm, Dec. 11. Consider the following decision problems: V C (G, k ): Input: Graph G, and an integer k . Output: Yes, if G has a Vertex Cover of size k ; No, otherwise. A vertex cover is a set of

Homework 7
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: #7 Graphs and Reductions FarachColton Due by 5:00pm, Dec. 4. 1. A graph is said to be bipartite if its vertex set can be partitioned into two sets A, B such that every edge in G has one endpoint in A and other endpoint in B . A Hamilton

Homework 6
School: Rutgers
Course: Design And Analysis Of Algorithms
Fall 2012 CS 344: #6 Reductions FarachColton Due by 5:00pm, Nov. 1. Suppose there is a C+ library on your machine which has the following function: IS (G, k ): Input: Graph G, and a number k . Output: Yes, if G has an Independent Set of size at least k ;

String
School: Rutgers
String matching consists of finding one or more generally, all of the occurrences of a pattern in a text. Finding a certain pattern in a text is a problem arises in textediting programs and web "surfing". Here we study various fundamental text processing

Sorting
School: Rutgers
The objective of the sorting algorithm is to rearrange the records so that their keys are ordered according to some welldefined ordering rule. Problem: Given an array of n real number A[1. n]. Objective: Sort the elements of A in ascending order of their

Sets
School: Rutgers
A set is a collection of different things (distinguishable objects or distinct objects) represented as a unit. The objects in a set are called its elements or members. If an object x is a member of a set S, we write x S. On the the hand, if x is not a mem

Lec2
School: Rutgers
A vector, u, means a list (or ntuple) of numbers: u = (u1, u2, . . . , un) where ui are called the components of u. If all the ui are zero i.e., ui = 0, then u is called the zero vector. Given vectors u and v are equal i.e., u = v, if they have the same

BFS
School: Rutgers
CE177 Schlag Fall '04 Handout # 2 Breadth First Search The input is a simple graph. This algorithm traverses each component of the graph, numbering vertices as they are encountered (bfs[u]) and saving for each vertex u the neighbor (if any) from wh