Page 86 - Bkhargava_-_Grokaem_algoritmy
P. 86

Быстрая сортировка   85


        Упражнения


        4.1   Напишите код для функции sum (см. выше).


        4.2   Напишите рекурсивную функцию для подсчета
             элементов в списке.
        4.3  Найдите наибольшее число в списке.


        4.4  Помните бинарный поиск из главы 1?  Он тоже
             относится к классу алгоритмов •разделяй и властвуй•. Сможете ли вы
             определить базовый и рекурсивный случай для бинарного поиска?



        Быстрая сортировка

                         Быстрая сортировка относится к алгоритмам сортиров­
                          ки. Она работает намного быстрее сортировки выбором
                          и часто применяется в реальных программах. Например,
                           в стандартную библиотеку С входит функция с име­
                           нем qsort, реализующая быструю сортировку. Быстрая
                           сортировка также основана на стратегии ~разделяй
                            и властвуй•.

                             Воспользуемся быстрой сортировкой для упорядо­
                             чения массива. Как выглядит самый простой массив,
                             с которым может справиться алгоритм сортировки
                              (помните подсказку из предыдущего раздела)? Не­
                              которые массивы вообще не нуждаются в сорти­
                              ровке.





                                     [   ]   ~ ПУСТО~ MACCll&
                  СОРТМРО&АТЬ
                  ПКМЕ MACCll&bl
                                     ( 20 \ ~ MKCll& С OJUlllM ЭЛЕМЕНТОМ
                  НЕ нv.~но




                                                         www.trk.kg
   81   82   83   84   85   86   87   88   89   90   91