Алгоритмы сортировки 2

Содержание

Отчет по программированию, тема "Алгоритмы сортировки"

Задание:

Сортировка слиянием, карманная сортировка. Ключ: год рождения + месяц рождения.

В отчете предоставлена работающая программа, юнит-тесты и результаты работы программы (время).

Программа работает верно.

Выдержка из текста

Задание

Дано множество записей о людях. Каждая запись содержит поля: имя, фамилия, день месяца, месяц и год рождения.

Требуется реализовать указанные в своем варианте алгоритмы сортировки (использовать язык программирования по выбору) в виде функций, принимающей массив/список записей на вход и возвращающих отсортированный массив/список записей. Правильность работы алгоритмов проверить с помощью юнит-тестов. Время работы алгоритмов замерить на входных данных разного размера, сравнить со временем работы библиотечной (стандартной) функции сортировки для выбранного языка.

Входные данные сгенерировать самостоятельно или использовать скрипт генерации в папке record_gen репозитория. Формат записи во входном файле (по одной записи на строку): Имя Фамилия День рождения Месяц рождения Год рождения. Имя, фамилия — строка, год рождения — целое число от 1900 до 2000, месяц рождения — строка из множества Jan, Feb, Mar, Apr, May, June, July, Aug, Sept, Oct, Nov, Dec (сокращенное название месяца), день рождения — целое число от 1 до 31.

Пример записей во входном файле:

John Smith 4 July 1980

Robert Paulson 12 Aug 1964

Если ключ сортировки состоит из нескольких полей (сложный ключ), то в результирующем массиве записи должны быть отсортированы по первому полю ключа, записи с совпадающим первым полем ключа должны быть в свою очередь отсортированы по второму полю и т.д. Сортировка по месяцу рождения подразумевает сортировку по имени месяца.

В отчет включить:

Псевдокод/описание алгоритма

Текст программы

Текст юнит-тестов

Результаты замера времени работы алгоритма

Работающую программу иметь с собой на занятии.

Вариант 7

Сортировка слиянием, карманная сортировка. Ключ: год рождения + месяц рождения

Список использованной литературы

https://docs.google.com/document/d/1Cc-vUrwFDdQxLBjvoiKLT36wxcvAmOuSIfde7HKyza0/edit#

Похожие записи