lec21 - MIT OpenCourseWare http://ocw.mit.edu 6.006...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: MIT OpenCourseWare http://ocw.mit.edu 6.006 Introduction to Algorithms Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. ������� �� ������� ����������� � �� �� �� ����� ������ ���� ������� ��� ������� ����������� ���� ���� ������������� ����������������� ��������� ���������������� ����� ������ �������� ������� �������� • • • • • ���� ������������ ���������������� �������� ���������������� ���� ������ �������� �������� ���� �� ������� � �� �� ��� ����� ����������� � �������� � � ���� ������ ��� ����� ������������ ����� � ��������� ��� ����� ����� �� ���������� ����� � ������� ��� ������ �������� ���������� ������� ������������� ��� ������� � ������� �� ����� �� ����� � ����� ��� ���� � ������������� ×� �������� ������ ����������� ������� ������������ ��� ����� �������� ������� � � ���������� �� �������� ���� �� ����� � =⇒ ����� ����� � ��� ���������� ���� ����������� ��� ����� ������� �� ������ �� ���������� � ������� �� ������� ����������� � �� �� �� ����� ������ ���� ���� ������������� ����� ���� ���� ����� ������ • • ������� ��� ��������� ����� ���������� ��� �� ���� ����� �� �� ���� ����� ������ ��� ���� ��� ���� ���� ��� ����� blah blah blah .. b lah reallylongword ������ �� blah blah vs. blah blah . . reallylongword ���� ��� ��� ������������ [i : j ] ����� • ����� �������(i, j ) ��� ���� �� ����� � �� ����� ������ > ���� ����� (���� • ����� ����� ����� ���� ����� �� ����� � ����� ������) 3 ���� min � ������� �� ���������� � min ������� ��� ���� �����[i :] =⇒ � ����������� = Θ(n) ����� n=� ����� �� �������� � ����� �� ��� ���� ����� ��� i:j =⇒ � ������� = n − i = O(n) �� ��������� • ��[i] = min��������(i, j ) • ��[n] = φ =⇒ ���� ��� �� ����� ���� �� �������� ���������� � ��[j ] ��� j �� �����(i + 1, n + 1)� = O(n) = O(n2 ) ��[φ] = �� ��� ������ � ������� �� ������� ������ � ������� �� ������� ����������� � �� �� �� ����� ������ ���� ����������������� ������� ���������� �� ����������� ���������� � ����� ����������� ����������� �������� A . B . C (AB)C costs θ(n2) A(BC) costs θ(n) ������ �� Evaluation of an Expression (����)(����) ··· ··· ↑k−1 ↑k �� �������� � ��������� �������������� =⇒ � ������� = O(n) � ���� �� ��������� �� ����������� � ������� � �������� �� A[i : j ] =⇒ � 2 ����������� � Θ(n ) �� ��������� • ��[i, j ] = min(�� [i, k ] + ��[k, j ]+ ���� (A[k ] · · · A[j − 1]) ��� k �� �����(i + 1, j )) • ��[i, i + 1] = φ =⇒ ���� ��� ���������� = O(n) �� ����� ���� �� �������� �� ����������� (A[i] · · · A[k − 1]) �� = O(n3 ) = DP [0, n] �� ��� ������ � ������� �� ������� �������� ��������� �������� �� ���� S ��� ���� �� ���� • ���� i • ����� ��� ������� ���� si � ���� ����� vi ≤S ������ ������ �� ����� �� ������� ����� ����� ������� �� ����� ���� ����� �������� �� ���������� � ����� ��� ����� �� ����� �� �������� � ������� �� ������� ���� �� ��������� i =⇒ � ������� � 2 � ������� �� ������� ����������� � �� �� �� ����� ������ ���� • DP [i] = max(DP [i + 1], vi + DP [i + 1] �� ��� ?!) si ≤ � S • ��� ������ ����������� �� ���� ������� ���� ������ i ��� � ��� ���� ����� �� ����� �� ���������� � ����� ��� ���� i� X � ����� �������� �� ���� =⇒ � ����������� = O(nS ) �� ��������� • DP [i, X ] = max(DP [i + 1, X ], vi + DP [i + 1, X − si ] �� si ≤ X ) • DP [n, X ] = φ =⇒ ���� ��� ���������� = O(1) �� ����� ���� �� �������� = O(nS ) = DP [φ, S ] �� ��� ������ � ������� �� ������� ������� �������� ���������� ������ ��� � ������� �������� �������� �� �� ���� ������������ �� ������ �� ������� =⇒ ������� �� � �������������� �������� ����������� ���� ������ • ���� ����� =< S, s0 , · · · , sn−1 , v0 , · · · , vn−1 > O(lg S + lg s0 + · · · ) ≈ O(n lg . . .) • ������ �� ������� • �� O(nS ) • O(nS ) • �� ��� ����������������� ����� ������ ���� �� S �� ����� � ���������������� ������ � ��������� �� ������ �� ����� � �������� �� ��� ����� ��������� � ��������� � ���� ����������� � ��� ���������� � �� �� � ������� �� ������� ����������� � �� �� �� ����� ������ ���� ������ �� ������ ������ ��������� • • • • ����� �������� �� n ������ ������ � � � ���� �� ����� ����� w ���� ������ ����������� � x ���������� ��� ���� ���� ���� ���� ����� ���� �� ���� ��������� ���� ���� �� ��� ����� ������� ����� �������������� �� ����� ����� ����� �� w ����� ���� ������������ • ����� ������� ����� ���� ������ ������ h ��������� � ���� ������� �� ����������� ����� �������� �� ���������� � ������� �� ����� �� �������� � ��� �� ���� ����� �� ��������� i�� ����� ������� i =⇒ � = O(w) DP [i] = DP [i + 1] �� ��� ������ ������������ ���� �� �� ���� �� ���� ����� ����� � �� �� ���������� � �������� �� ���� ����� ������� ������ � ���������� i� h0 , h1 , · · · , hw−1 ����� ����� m �� ����� i �� h) =⇒ � =⇒ ����������� = O(n · hw ) �� ��������� ���� DP [i, h] = max(DP [i, m] ��� � �� ���������� = O (w ) = O(nwhw ) �� ����� ���� �� �������� = DP [φ, φ] �� ��� ������ � ������� �� ������� ������ � ...
View Full Document

Ask a homework question - tutors are online