15-451 Algorithms, Fall 2009
Homework # 2
due: Tue-Thu, September 22-24, 2009
Ground rules:
This is an oral presentation assignment. You should work in groups of three. At some
point before Saturday, September 19 at 11:59pm your group should sign up for
15-451 Algorithms, Fall 2011
Homework # 3
Due: October 11, 2011
Please hand in each problem on a separate sheet and put your name, andrew id, and
recitation (time or letter) at the top of each sheet. You will be handing each problem into
a separate stack,
Midterm (version A)
15-451 Algorithms
Name:
Fall 2007
Section:
1
2
3
4
Total
43
20
21
16
100
One sheet of notes is allowed. Closed book.
1. Multiple Choice: circle the correct answer (43 pts)
For (a)-(c), assume the base-case T (x) = 1 for x 3.
(a) The re
1. (Easy) Maximum Value Contiguous Subsequence. Given a sequence of n real numbers A(1) . A(n), determine a
contiguous subsequence A(i) . A(j) for which the sum of elements in the subsequence is maximized.
2. (Easy) Making Change. You are given n types of
15-451/651 Algorithms, Fall 2014
Recitation notes
October 13, 2014
Discuss two-player zero-sum games again.
Examples of solving a matrix game
A matrix game: In the game of evens-odds, two players E (Eve) and O (Oddjob) simultaneously show one or two nge
Lecture 22
Online Algorithms
Last time we looked at algorithms for nding approximately-optimal solutions for NP-hard problems. Today well be looking at nding approximately-optimal solutions for problems where the
diculty is not that the problem is necessa
(7 80m 0. "in {a 4W V0 Kai/IIch 79$}, 4 Gargféw
Sacral HON PB/81
CHAPTER I
The Power of Grids Closest Pair and Smallest Enclosing
Disk
In this chapter, we are going to discuss two basic geometric algorithms. The rst one
computes the closest pair among a s
15451 Algorithms
Fall 2012
D. Sleator
Suffix Trees and Suffix Arrays December 4, 2012
References:
Algorithms on Strings Trees and Sequences by Dan Gusfield
http:/courses.csail.mit.edu/6.897/spring03/scribe_noteslLlD/lecturelo.pdf
http:l/courses.csail.mit.
15~451 Algorithms
Spring 2013
D. Sleator
Matchings February 12, 2013
I have borrowed words and ideas from these notes:
http:/www.cs.dartmouth.edu/'ac/Teach/CSlOSWinteroS/Handouts/tarjan-blossom.pdf
Also see: http:/fen.wikipedia.org/wiki/Blossom_algorithm
15-451/651: Design & Analysis of Algorithms
Lecture #20: Streaming Algorithms
November 5, 2014
last changed: November 5, 2014
Preview of coming attractions:
An introduction to the data streaming model, and its concerns.
An algorithm for heavy hitters in
15-451/651: Design & Analysis of Algorithms
Lecture #26
1
November 24, 2014
last changed: December 7, 2014
Algorithms for Machine Learning
Suppose you want to classify mails as spam/not-spam. Your data points are email messages, and
say each email can be
Danny Sleator
15-451/651 Algorithms
12/03/14
Below you will find Avrims notes from last year. After his notes
Ive included some notes of my own about applications, doing the
integer FFT without the use of complex numbers, along with an ocaml
implementatio
Fundamentals of Convex Optimization
Lecture 1, Date: 17.10.2014
Instructor: Nisheeth Vishnoi
Scribe: Jakub Tarnawski
Basics, Gradient Descent and Its Variants
1
Overview
Convex optimization is about minimizing a convex function over a convex set.
For a co
15-451/651: Design & Analysis of Algorithms
Lecture #18
October 29, 2014
last changed: November 5, 2014
Suppose we are given an NP-complete problem to solve. Even though (assuming P = NP) we
cant hope for a polynomial-time algorithm that always gets the b
15-451/651: Design & Analysis of Algorithms
Lecture #17
October 27, 2014
last changed: October 27, 2014
In the last lecture, we dened the class NP and the notion of NP-completeness, and proved
that the Circuit-SAT problem is NP-complete. In this lecture w
Notes on Amortization
D. Sleator
1. Introduction
A data structure is a way of representing information in a computer and a set of procedures for accessing and updating the information. These procedures for accessing
and updating the information are called
Lecture 15
Network Flow II
15.1
Overview
The Ford-Fulkerson algorithm discussed in the last class takes time O(F (n + m), where F is the
value of the maximum ow, when all capacities are integral. This is ne if all edge capacities
are small, but if they ar
15-451/651: Design & Analysis of Algorithms
Lecture #13: Game Theory
October 8, 2014
last changed: October 15, 2014
In todays lecture, well talk about game theory and some of its connections to computer science.
The topics well cover are:
2-player Zero-s
15-451/651: Design & Analysis of Algorithms
Lecture #14: Linear Programming I
October 15, 2014
last changed: October 14, 2014
In this lecture we describe a very general problem called linear programming that can be used to
express a wide variety of dieren
October 20, 2014
15-451/651: Design & Analysis of Algorithms
Lecture #14: Linear Programming II
last changed: October 20, 2014
In this lecture discuss the general notion of Linear Programming Duality, a powerful tool that you
should denitely master.
1
Lin
15-451/651: Design & Analysis of Algorithms
Lecture #8: Dynamic Programming I
September 22, 2014
last changed: September 19, 2014
Dynamic Programming is a powerful technique that allows one to solve many dierent types of
problems in time O(n2 ) or O(n3 )
15-451/651: Design & Analysis of Algorithms
Lecture #9: Dynamic Programming II
September 24, 2014
last changed: September 23, 2014
In this lecture we continue our discussion of dynamic programming, focusing on using it for a
variety of path-nding problems
15-451/651: Design & Analysis of Algorithms
Lecture #6
September 15, 2014
last changed: September 15, 2014
In the classic string matching problem, theres a string T of length t and a pattern P of length p.
The problem is to nd the places in T where the pa
15-451/651: Design & Analysis of Algorithms
Lecture #1: Introduction, and Median Finding
August 25, 2014
last changed: August 25, 2014
The purpose of this lecture is to give a brief overview of the topic of Algorithms and the kind of
thinking it involves:
15-451/651: Design & Analysis of Algorithms
Lecture #2: Concrete models and tight upper/lower bounds
August 27, 2014
last changed: August 27, 2014
In this lecture, we will examine some simple, concrete models of computation, each with a precise
denition o
Lecture 14
Network Flow I
14.1
Overview
In these next two lectures we are going to talk about an important algorithmic problem called the
Network Flow Problem. Network ow is important because it can be used to express a wide variety
of dierent kinds of pr