Skip to content

Latest commit

 

History

History
42 lines (35 loc) · 2.45 KB

README.md

File metadata and controls

42 lines (35 loc) · 2.45 KB

KnutSortAndSearchAlgorCppSols (English)

Realization of sort and search algorithms described in Chapter 5 of Donald Knut book "The Art of Computer Programming", Volume 3 (by C++ language means).

  • Quick Sort (marked as Algorithm Q in the Section 5.2.2)
  • Radix Exchange Sort (5.2.2R)
  • Heapsort (5.2.3H)
  • Radix Sort of list (5.2.5R)
  • Batcher odd-even merge sort (5.2.2M)
  • Shellsort (5.2.1D)
  • Natural two-way merge sort (5.2.4N)
  • Selection sort (5.2.3S)
  • Insertion sort (5.2.1S)
  • Bubble sort (5.2.2B)
  • Distribution counting sort (5.2D)
  • Comparison counting sort (5.2C)
  • Cocktail shaker sort

In the first versions of programs the algorithms are applied just to an integer number dynamic array, in the final ones there are the structure type (struct data type) called Catridge that consists of two fields – integer number k (but in some scripts named key) which is used for sorting – and symbolic string r (or value).

KnutSortAndSearchAlgorCppSols (Русский)

Реализации на языке С++ алгоритмов сортировки из главы 5, входящей в 3-й том книги Дональда Кнута «Искусство программирования».

  • Быстрая сортировка (обозначен как алгоритм Q в разделе 5.2.2)
  • Обменно-поразрядная сортировка (5.2.2R)
  • Пирамидальная сортировка (5.2.3H)
  • Поразрядная сортировка списка (5.2.5R)
  • Сортировка Бэтчера (5.2.2M)
  • Сортировка Шелла (5.2.1D)
  • Сортировка естественным двухпутевым слиянием (5.2.4N)
  • Сортировка простым выбором (5.2.3S)
  • Сортировка простыми вставками (5.2.1S)
  • Сортировка пузырьком (5.2.2B)
  • Сортировка распределениями (5.2D)
  • Сортировка сравнений (5.2C)
  • Шейкер-сортировка

Первые (по времени) версии программ оперировали набором целых чисел, последние – структурами (тип данных struct) Catridge с двумя полями – числовым ключом k (в некоторых key), по значению которого и проводится сортировка, и символьной строкой r (или value).