Введение
Сбор письменной информации в стандартный порядок, или сопоставление, в библиотечном, информационном и компьютерном деле.
collation in library, information, and computer science
Сопоставление – это упорядочение письменной информации в соответствии со стандартным порядком. Многие системы сопоставления основаны на числовом или алфавитном порядке, а также на их расширениях и комбинациях. Сопоставление является фундаментальным элементом большинства офисных систем хранения, библиотечных каталогов и справочных изданий. Сопоставление отличается от классификации тем, что сами классы не обязательно упорядочены. Однако, даже если порядок классов не имеет значения, идентификаторы классов могут быть элементами упорядоченного множества, что позволяет алгоритму сортировки упорядочить элементы по классам. Формально, метод сопоставления обычно определяет полный порядок для набора возможных идентификаторов, называемых ключами сортировки, что, в свою очередь, создает полный предзаказ для набора информационных элементов (элементы с одинаковыми идентификаторами не располагаются в каком-либо определенном порядке). Алгоритм сопоставления, такой как алгоритм сопоставления Unicode, определяет порядок посредством сравнения двух заданных строк символов и определения, какая из них должна предшествовать другой. После определения порядка алгоритм сортировки может быть использован для упорядочения списка любого количества элементов в соответствии с этим порядком. Основное преимущество сопоставления заключается в том, что оно позволяет пользователю быстро и легко находить элемент в списке или подтверждать его отсутствие. В автоматизированных системах это можно сделать с помощью алгоритма двоичного поиска или интерполяционного поиска; ручной поиск может выполняться по аналогичной процедуре, хотя часто неосознанно. Другие преимущества заключаются в возможности быстрого поиска первого или последнего элемента в списке (что особенно полезно для числовых данных) или элементов в заданном диапазоне (что также полезно для числовых данных и для алфавитно упорядоченных данных, когда известны только первые несколько букв искомого элемента или элементов).
Числовая и хронологическая
Строковые представления чисел могут быть отсортированы на основе числовых значений, которые они представляют. Например, "−4", "2.5", "10", "89", "30,000". Простое применение этого метода может дать лишь частичный порядок для строк, поскольку различные строки могут представлять одно и то же число (например, "2" и "2.0" или, при использовании экспоненциальной записи, "2e3" и "2000"). Аналогичный подход можно использовать для строк, представляющих даты или другие элементы, которые можно упорядочить хронологически или каким-либо другим естественным способом.
Проблемы с цифрами
Иногда требуется упорядочить текст, содержащий встроенные числа, в соответствии с правильным числовым порядком. Например, "Рисунок 7b" должно идти перед "Рисунок 11a", хотя в Юникоде символ '7' следует за символом '1'. Это применимо и к римским цифрам. Реализовать такое поведение не слишком сложно, если нужно сортировать только целые числа, хотя это может существенно замедлить процесс сортировки. Например, Microsoft Windows использует подобный подход при сортировке имен файлов. Сортировка десятичных чисел представляет некоторую сложность, поскольку в разных региональных настройках используются разные символы для обозначения десятичной точки, а иногда один и тот же символ служит и десятичной точкой, и разделителем, например, в "Раздел 3.2.5". Не существует универсального способа сортировки таких строк; любые правила зависят от конкретного приложения.
Маркировка заказанных товаров
В некоторых контекстах цифры и буквы используются не столько как основа для установления порядка, сколько как средство маркировки элементов, уже имеющих определенный порядок. Например, страницы, разделы, главы и тому подобное, а также элементы списков часто "нумеруются" таким образом. Возможные серии обозначений включают обычные арабские цифры (1, 2, 3 и т.д.), римские цифры (I, II, III или i, ii, iii и т.д.) или буквы (A, B, C или a, b, c и т.д.). (Альтернативный способ указания элементов списка без нумерации – использование маркированного списка.) При использовании букв алфавита для нумерации существуют определенные языковые конвенции относительно того, какие буквы применяются. Например, русские буквы Ъ и Ь (которые в письменности используются только для смягчения предшествующего согласного), а также обычно Ы, Й и Ё, опускаются. Кроме того, во многих языках, использующих расширенный латинский алфавит, модифицированные буквы часто не используются при нумерации.