algorithm analysis
play

Algorithm Analysis Part I - PowerPoint PPT Presentation

Algorithm Analysis Part I


  1. ��������������������������� Algorithm Analysis Part I ���������������������������������������������������������������������������� ��������������������������������������������������������������������������������� ������������������������������������������������������������������������������ Tyler Moore �������������������������������������� ����������������������������� CSE 3353, SMU, Dallas, TX Lecture 3 how many times do you have to turn the crank? Some slides created by or adapted from Dr. Kevin Wayne. For more information see http://www.cs.princeton.edu/~wayne/kleinberg-tardos . Some slides adapted from Dr. Steven Skiena. For more information see http://www.algorist.com ��������������� 3 2 / 26 ����������� ����������������������� Brute force. For many nontrivial problems, there is a natural brute-force Desirable scaling property. When the input size doubles, the algorithm search algorithm that checks every possible solution. should only slow down by some constant factor � . � Typically takes � � time or worse for inputs of size � . � Unacceptable in practice. Def. An algorithm is poly-time if the above scaling property holds. ������������������������������������������������ ����������������������������������������������������� choose C = 2 d ���� � � �� ������������������������������ ������ ����������� ���� ����� ������� ����� ������ ������ ������ ������ ������ ������ 4 5 3 / 26 4 / 26

  2. ����������������������� ������������������� Worst case. Running time guarantee for any input of size � . We say that an algorithm is efficient if has a polynomial running time. � Generally captures efficiency in practice. Justification. It really works in practice! � Draconian view, but hard to find effective alternative. � In practice, the poly-time algorithms that people develop have low constants and low exponents. � Breaking through the exponential barrier of brute force typically Exceptions. Some exponential-time algorithms are used widely in practice exposes some crucial structure of the problem. because the worst-case instances seem to be rare. Exceptions. Some poly-time algorithms do have high constants and/or exponents, and/or are useless in practice. ��� ������ �� ���������� ���� Q. Which would you prefer �� � � ��� �� vs. � ������������ � ? ������ ������ ���������� �� �������� �������� ���������� �� ���������� ������������������ �� ������� ���������� ����� ������� ��������������� �������� ������������ ����������������������������������� ���� ���������� � ������� ������ �� ���������� ����� ��� ����� ��� ���������� �������� �� ���� ����� �� ����� ��� ������ ��� ������������� �������� ������ ��� ������ ��� ������ � ���� ������ ������ ��� �������� �� ������� ��� ������ ��� �� ���������� �� ���������� ����� ���� ������ ���� ��� �������� ������� �� �� �� ��� ��������� � ���������� ���� ��������� ��� ��� ������� ���� ����� �� ����� �� ���� � ����� �� ��������� �� ��� ����� � �� ���� � ��� ������� �� ��������� �� � ������ �� ��� ��� ����� ������ ������� ����������������� ���������� ����������������� ���� ������ ����������� ���� ��� ������ ��� �� ���������� �� ���������� ����� ��� �� ���� ������ ����� ������������ ������� ������������� 6 7 5 / 26 6 / 26 ����������������� �������������� Worst case. Running time guarantee for any input of size � . Ex. Heapsort requires at most � � � � ��� �� � compares to sort � elements. Probabilistic. Expected running time of a randomized algorithm. Ex. The expected number of compares to quicksort � elements is �� � � ���� � . Amortized. Worst-case running time for any sequence of �� operations. Ex. Starting from an empty stack, any sequence of � push and pop operations takes � � � � operations using a resizing array. Average-case. Expected running time for a random input of size � . Ex. The expected number of character compares performed by 3-way radix quicksort on � uniformly random strings is �� � � ���� � . Also. Smoothed analysis, competitive analysis, ... 8 9 7 / 26 8 / 26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend