Опубликован: 05.01.2015 | Доступ: свободный | Студентов: 2178 / 0 | Длительность: 63:16:00
Лекция 11:

Специальные методы сортировки

Ссылки для части III

Основным источником для ссылок к данному разделу является 3-й том многотомной монографии Кнута (Knuth), посвященный вопросам сортировки и поиска. Практически по каждой затронутой теме в этой книге можно найти дополнительную информацию. В частности, все результаты, касающиеся характеристик производительности различных алгоритмов, которые приведены здесь, там полностью доказаны математически.

По вопросам сортировки имеется обширная литература. Опубликованная Кнутом и Райвестом (Rivest) в 1973 г. библиография содержит сотни ссылок на статьи, благодаря которым можно понять, как разрабатывались многие рассмотренные нами классические методы. Более поздние ссылки, с обширной библиографией, охватывающей последние работы, можно найти в книге Баеса-Ятеса и Гонне (Baeza-Yates and Gonnet). Обзор состояния наших знаний о сортировке Шелла можно найти в статье Седжвика (Sedgewick) за 1996 г.

Что касается быстрой сортировки, то наилучшей ссылкой может служить пионерская статья Хоара (Hoare), вышедшая в свет в 1962 г., в которой рассматриваются все наиболее важные варианты, в том числе и использование выборки, упомянутое в "Быстрая сортировка" . Множество деталей, касающихся математического анализа и практических эффектов многих модификаций и усовершенствований, появившихся после широкого распространения алгоритма, можно найти в статье Седжвика за 1978 г. Бентли и Мак-Илрой (Bently and McIlroy) дали его современную трактовку. Материал по трехпутевому разбиению в "Быстрая сортировка" и трехпутевой поразрядной быстрой сортировке в "Поразрядная сортировка" основан на этой статье и статье Бентли и Седжвика за 1997 г. Первый алгоритм, использующий разбиения (бинарная быстрая сортировка или поразрядно-обменная сортировка), появился в статье Хильдебрандта и Исбица (Hildebrandt and Isbitz) в 1959 г.

Структура данных биномиальной очереди Вильемина (Vuillemin) в том виде, в каком она была реализована и исследована Брауном (Brown), элегантно и эффективно поддерживает все операции над очередями с приоритетами. Парные пирамидальные деревья, описанные Фредменом (Fredman), Седжвиком, Слитором (Sleator) и Тарьяном (Tarjan), являются усовершенствованиями базового понятия и представляют немалый практический интерес.

В статье, появившейся в 1993 г., Мак-Илрой, Бостик (Bostic) и Мак-Илрой описывают положение дел с реализациями поразрядной сортировки.

Список литературы

1. R. Baeza-Yates and G.H. Gonnet, Handbook of Algorithms and Data Structures, second edition, Addison-Wesley, Reading, MA, 1984.

2. J.L. Bentley and M.D. McIlroy, "Engineering a sort function," Software-Practice and Experience 23, 1 (January, 1993).

3. J.L. Bentley and R. Sedgewick, "Sorting and searching strings," Eighth Symposium on Discrete Algorithms, New Orleans, January, 1997.

4. M.R. Brown, "Implementation and analysis of binomial queue algorithms," SIAM Journal of Computing 7, 3 (August, 1978).

5. M.L. Fredman, R. Sedgewick, D.D. Sleator, and R.E. Tarjan, "The pairing heap: a new form of self-adjusting heap," Algorithmica 1, 1 (1986).

6. P. Hildebrandt and H. Isbitz, "Radix exchange - an internal sorting method for digital computers," Journal of the ACM, 6, 2 (1959).

7. C.A.R. Hoare, "Quicksort," Computer Journal, 5, 1 (1962).

8. Д.Э. Кнут, Искусство программирования, том 3. Сортировка и поиск, 2-е издание, ИД "Вильямс", 2008 г.

9. PM. McIlroy, K. Bostic, and M.D. McIlroy, "Engineering radix sort," Computing Systems 6, 1 (1993).

10. R.L. Rivest and D.E. Knuth, "Bibliography 26: Computing Sorting," Computing Reviews, 13 6 (June, 1972).

11. R. Sedgewick, "Implementing quicksort programs," Communications of the ACM 21, 10 (October 1978).

12. R. Sedgewick, "Analysis of shellsort and related algorithms," Fourth European Symposium on Algorithms, Barcelona, September, 1996.

13. J. Vuillemin, "A data structure for manipulating priority queues," Communications of the ACM 21, 4 (April 1978).

Бактыгуль Асаинова
Бактыгуль Асаинова

Здравствуйте прошла курсы на тему Алгоритмы С++. Но не пришел сертификат и не доступен.Где и как можно его скаачат?

Александра Боброва
Александра Боброва

Я прошла все лекции на 100%.

Но в https://www.intuit.ru/intuituser/study/diplomas ничего нет.

Что делать? Как получить сертификат?