Page 95 - Bkhargava_-_Grokaem_algoritmy
P. 95

94    Глава 4.  Быстрая сортировка


        Перед вьrводом элемента функция делает паузу продолжительностью
        в 1 секунду. Предположим, вы выводите список из пяти элементов с ис­
        пользованием обеих функций:


         ! 2 f 4 / 6 1 ~ ! 10]
               ~
          f .,..;~tдe.l'ls :  2 +6 <а 1 \6

          pri"t_ite1»s2:  <ПАУ.3А>  2  <ПАУ.3А>  4<ПАУ.3А>  6 <ПАУ.3А>   i  <ПАУ.3А>  1\li



        Обе функции проходят по списку один раз, и обе выполняются за вре­
        мя О(п). Как вы думаете, какая из них работает быстрее? Я думаю, print_
        i tems работает намного быстрее, потому что она не делает паузу перед вы­
        водом каждого элемента. Следовательно, даже при том, что обе функции
        имеют одинаковую скорость «О-большое~, реально print_i tems  работает
        быстрее. Когда вы используете «О-большое~ (например, О(п)), в действи­
        тельности это означает следующее:

                                                C*h

                                ФИКСИРО6АННЫ~ _j"
                                 ПРОМ~УТОК
                                 ВРЕМЕНИ


        Здесь с  -  некоторый фиксированный промежуток времени для вашего
        алгоритма. Он называется константой. Например, время выполнения
        может составлять 10 мWULисекунд * п для print_i tems против 1 секунды * п
        для print_i tems2.

        Обычно константа игнорируется, потому что если два алгоритма имеют
        разное время «О-большое~, она роли не играет.  Для примера возьмем би­
        нарный и простой поиск. Допустим, такие константы присутствуют в обоих
        алгоритмах.



                                                  1 с.* Lo~ n
                          n l'OCTO~ ПОИСК       БИНА l'Hbl~ ПОИСК

                                                         www.trk.kg
   90   91   92   93   94   95   96   97   98   99   100