"Информатика (в 2-х частях)", Горячев А.В., Герасимова В.Г., Макарина Л.А., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Юдина А.Г., Чернышёва Т.Л.
Регулярная сортировка задач — это расположение задач по общему, заранее выбранному правилу. Она помогает быстро находить нужные задания, сравнивать их и планировать работу: например, можно поставить первыми задачи с ближайшим сроком или собрать вместе задания одной темы. Для правильного результата нужно определить цель, выбрать признак и ключ сортировки, установить порядок значений и одинаково применять правило ко всему списку. Если основные ключи совпадают, используют дополнительный.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Регулярная сортировка задач — упорядочивание набора задач по заранее выбранному правилу, чтобы задачи с общими признаками располагались предсказуемо. Иными словами, список перестраивают не наугад, а одним способом для всех его элементов. Это нужно, чтобы быстрее находить задания и понимать, в каком порядке с ними работать.
Признак сортировки — свойство задачи, по которому её сравнивают с другими: например, тема, сложность или срок выполнения. Выбор признака зависит от того, зачем нужен список. По теме удобно искать похожие задания, а по сроку — планировать работу.
Ключ сортировки — конкретное значение выбранного признака, используемое для определения места задачи в упорядоченном наборе. Если сортируют по сроку, ключом для каждой задачи будет её дата. Сравнение ключей показывает, какая задача должна стоять раньше.
Порядок сортировки — правило расположения значений ключа: по возрастанию или убыванию, по алфавиту либо в заданной последовательности. Например, сроки можно расположить от ближайшего к самому позднему. Заранее выбранное направление помогает всем одинаково понимать итоговый порядок.
Сортировка становится регулярной, когда для всех задач выбирают общий признак и одно правило сравнения, а не размещают их произвольно. Если часть списка упорядочена по срокам, а часть — по темам, результат трудно использовать: соседние задачи сравниваются по разным основаниям. Единое правило позволяет понять, почему любая задача находится именно на своём месте.
Чтобы получить полезный порядок, сначала определяют цель сортировки, а затем выбирают подходящий признак. Это важно потому, что один и тот же набор можно расположить по-разному, и не каждый порядок поможет решить нужную задачу. Сроки подходят для планирования, а темы — для поиска заданий одного типа.
У нескольких задач может оказаться одинаковое значение основного ключа. Тогда для них задают дополнительный признак, например название или сложность, и применяют его одинаково. Так задачи с равными сроками всё равно получают понятный порядок, а не остаются расположенными как придётся.
Сортировка по нескольким признакам выполняется последовательно: сначала сравнивают главный ключ, а при равенстве — следующий. Следующий признак не должен менять порядок задач, у которых значения главного ключа различаются. Такой приоритет нужен, чтобы правило оставалось ясным и выполнялось одинаково для всего списка.
Готовое правило проверяют на всём наборе задач. Для каждой пары можно определить, какая задача должна стоять раньше; если это невозможно, значит, условия сравнения заданы не полностью. Также проверяют, что не пропущены задачи с совпадающими ключами и что ни одна задача не потерялась при перестановке.
Таблица помогает связать цель сортировки с подходящим признаком и видом ключа. Выберите строку, которая отвечает вашей задаче, и заранее определите порядок значений. Если одного признака недостаточно, добавьте следующий и укажите, когда его применять.
| Признак сортировки | Как упорядочивать | Когда удобно | Пример ключа |
|---|---|---|---|
| Тема задачи | По алфавиту или в заданной последовательности тем | Чтобы найти задания одного типа | «Алгебра» |
| Сложность задачи | От простой к сложной или наоборот | Чтобы подобрать последовательность работы | «Средняя» |
| Срок выполнения | От ближайшего срока к позднему или наоборот | Чтобы спланировать выполнение | 15 мая |
| Алфавитный порядок названий | От А до Я или от Я до А | Чтобы быстро найти задачу по названию | «График» |
| Несколько признаков с дополнительным ключом | По главному признаку, при равенстве — по следующему | Когда одного правила недостаточно для однозначного порядка | Тема, затем срок |
Задача 1. Даны задачи с указанием срока выполнения. Нужно упорядочить их так, чтобы ближайшие сроки оказались первыми. Числовые значения сроков в условии не перечислены, поэтому требуется определить правило, по которому будет перестроен любой такой список.
Ответ. Сортируем по сроку от ближайшего к самому позднему. При совпадении сроков используем заранее выбранный дополнительный признак, чтобы список оставался однозначным.
Задача 2. Список задач содержит тему и сложность. Требуется сгруппировать задачи по темам, а внутри каждой темы расположить от простых к сложным. Нужно учесть и порядок тем, и порядок задач с одной темой.
Ответ. Применяем последовательные ключи: сначала тему, затем сложность. Если у нескольких задач совпадают и тема, и сложность, можно оставить их в исходном порядке или задать ещё одно правило, например по названию.
Задача 3. Для набора указаны тема, сложность, срок и название. Нужно расположить задачи сначала по теме, затем по сроку, а при совпадении срока — по названию. Здесь важно не перепутать приоритет признаков: название используется только тогда, когда совпали предыдущие ключи.
Ответ. Сортируем последовательно по теме, сроку, затем названию. Каждый дополнительный ключ применяем только при равенстве предыдущих.
Выбрать признак, не связанный с целью. Получится упорядоченный список, который не помогает решить нужную задачу; так бывает, если выбирать признак просто потому, что он указан. Проверьте себя вопросом: помогает ли этот порядок планировать работу или находить нужные задания?
Менять правило сравнения в процессе. Некоторые задачи тогда окажутся расположены по сроку, а другие — по теме, и общий порядок станет непонятным. Ошибку допускают, когда пытаются удобнее разместить отдельный элемент. Проверьте список: одинаковые ситуации должны обрабатываться по одному правилу.
Не задавать порядок для совпадающих ключей. Задачи с одинаковыми значениями могут остаться в случайном порядке, что затруднит поиск. Совпадения часто кажутся неважными, пока таких задач не становится много. Проверьте, что делать при равенстве ключей, и при необходимости назначьте дополнительный признак.
Путать группировку с полной сортировкой. Объединение задач по теме ещё не устанавливает порядок внутри каждой группы. Это упускают, когда считают, что одинаковые темы уже означают завершённую сортировку. Проверьте условие: если в нём требуется порядок по сложности, сроку или названию, примените это правило внутри групп.
Для сортировки нужно уметь выделять у объектов общие признаки и сравнивать значения по одному правилу. Это связано с представлением данных в таблицах: каждый признак можно хранить в отдельном столбце, а его значения использовать для упорядочивания строк. После сортировки проще искать информацию в наборе, где элементы расположены предсказуемо.
Та же идея встречается в алгоритмах сортировки: алгоритм выполняет заданные сравнения и переставляет элементы. В повседневной работе порядок задач помогает распределять время и выбирать, за что взяться сначала. Поэтому понимание правила полезно и для работы с данными, и для планирования.
Что делает сортировку регулярной?
Для всех задач заранее выбирают общий признак и одно правило сравнения. Поэтому их расположение не зависит от случайного выбора и получается предсказуемым.
Как выбрать признак сортировки?
Сначала решите, для чего нужен упорядоченный список. Для планирования подойдёт срок выполнения, а для поиска похожих заданий — тема.
Что делать, если у нескольких задач одинаковый ключ?
Выберите дополнительный признак, например название или сложность. Применяйте его одинаково ко всем задачам с совпавшим основным ключом.
Можно ли сортировать задачи сразу по нескольким признакам?
Да. Сначала сравнивают задачи по главному признаку, а дополнительный используют, если значения главного совпали.
Чем сортировка отличается от группировки?
Группировка объединяет задачи с общими признаками, но не обязательно задаёт порядок внутри группы. Полная сортировка определяет порядок и между группами, и внутри них.
§ 8. Регулярная сортировка задач