Сортирующие сети — различия между версиями
Darkraven (обсуждение | вклад)  (→Компараторы (сравнивающие устройства))  | 
				Darkraven (обсуждение | вклад)   (→Компараторы (сравнивающие устройства))  | 
				||
| Строка 14: | Строка 14: | ||
Обычно компараторы меньшее значение передают на провод с меньшим номером, но бывают и направленные компараторы, у которых указано направление перемещения.  | Обычно компараторы меньшее значение передают на провод с меньшим номером, но бывают и направленные компараторы, у которых указано направление перемещения.  | ||
| − | '''K-компаратор''' — устройство, упорядочивающее значения на <  | + | '''K-компаратор''' — устройство, упорядочивающее значения на <tex>k</tex> проводах.  | 
{{Определение  | {{Определение  | ||
Версия 20:34, 10 июня 2012
Определение
Сортирующая сеть (Sorting network) — модель, состоящая из нескольких проводов и сравнивающих устройств, предназначенная для сортировки данных. Схематически изображается в виде параллельных прямых (проводов), соединенных вертикальными линиями (сравнивающими устройствами). Особенность сети в том, что сравнения выполняются независимо от предыдущих. Кроме того, сравнения могут выполняться одновременно.
Компараторы (сравнивающие устройства)
| Определение: | 
| Компаратор (Comparator) — устройство, подключенное к двум проводам, которое упорядочивает текущие значения на проводах. | 
Обычно компараторы меньшее значение передают на провод с меньшим номером, но бывают и направленные компараторы, у которых указано направление перемещения.
K-компаратор — устройство, упорядочивающее значения на проводах.
| Определение: | 
| Пусть глубина входного провода сети равна нулю. Если глубины входных проводов компаратора равны и , то глубина его выходных проводов равна . Глубина компаратора — величина, равная глубине его выходных проводов. | 
Компараторы можно располагать на одной глубине, если они подключены к разным проводам. В этом случае сравнения будут выполняться параллельно.
Сети
Введем ряд определений, характеризующих сеть компараторов:
| Определение: | 
| Слой сети — множество компараторов, имеющих одинаковую глубину. | 
| Определение: | 
| Глубина сети (depth) — количество слоев в сети. | 
| Определение: | 
| Размер сети (size) — количество компараторов в сети. | 
Для того, чтобы сортирующая сеть для  входов была корректна, она должна правильно сортировать все  перестановок  различных чисел. Также можно сформулировать более сильное утверждение:
| Теорема: | 
Сеть компараторов с  входами является сортирующей тогда и только тогда, когда она сортирует  различных последовательностей из 0 и 1.  | 
См.также
Источники
- Sorting network — Wikipedia
 - Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн Алгоритмы: построение и анализ — 2-е изд. — М.: «Вильямс», 2007. — с. 799 — 805. — ISBN 5-8489-0857-4
 - Дональд Э. Кнут Искусство программирования. Том 3. Сортировка и поиск — 2-е изд. — М.: «Вильямс», 2012. — с. 238 — 242. — ISBN 0-201-89685-0