Создан заказ №478629
1 марта 2015
Алгоритмы поиска и сортировки данных
Как заказчик описал требования к работе:
Срочно нужно написать реферат по информационным технологиям ко вторнику. Список требований в файле.
Фрагмент выполненной работы:
Введение
Методы поиска и сортировки используют ряд специфических терминов, которые целесообразно рассмотреть на примере.
В общем случае некий информационный массив практически всегда представляет собой совокупность элементов достаточно сложной структуры. Например, данные о поступающих в ВУЗ могут иметь вид нижеследующей именованной таблицы:
АБИТУРИЕНТЫ
№ Фамилия Адрес Возраст Средний балл Наличие льгот
1 Иванов Зелёная 28 18 4.75 ДА
2 Петров Пастеровская 82 17 5.00 НЕТ
3 Сидоров Петровского 8/1 19 4.90 НЕТ
4 ... (работа была выполнена специалистами author24.ru) ... ... ... ...
Не беря во внимание наименование таблицы и её “шапку”, а также столбец порядковых номеров, можно считать набор подобного рода данных совокупностью одинаково устроенных элементов, каждый из которых содержит информацию о том или ином субъекте, являющемся предметом интереса приёмной комиссии. Такими элементами есть строки таблицы, которые в данном случае принято называть записями. Отметим, что отдельные составляющие конкретного содержимого каждой записи жёстко привязаны друг к другу по смыслу и рассматриваются как единое целое.
Записи пронумерованы попорядку. Этот факт отражён в первом столбце таблицы. Однако, в отличие от других столбцов, порядковый номер не является фиксированной принадлежностью содержимого той или иной записи. Его назначение — отображать положение текущей записи в составе всей таблицы безотносительно к её содержимому.
Каждая запись содержит некоторые конкретные значения, в общем случае разнотипные. Иначе говоря, запись состоит из разнотипных полей. А то, что находится в “шапке” таблицы, считается наименованиями этих полей. Например, поля “Фамилия” и “Адрес” содержат данные текстового типа, поля “Возраст” и “Средний балл” содержат числовые данные (целочисленные и вещественные соответственно), поле “Наличие льгот” содержит значение логического типа. Последовательность, количество и типы полей записи строго фиксированы. Это значит, что запись данного информационного массива имеет фиксированную структуру.
Алгоритмы поиска и сортировки в общем случае ориентированы на массивы данных подобного рода. Основополагающими при этом являются понятия “ключ” и “ключевое поле”.
Например, в качестве результата поиска нас может интересовать абитуриент по фамилии Петров. Найдя нужную запись, мы одновременно получаем и все остальные данные о нём (его домашний адрес, возраст и т.д.). Отметим, что в данном случае поле “Фамилия” используется в качестве ключа поиска, значением этого ключа является “Петров”, поиск ведётся на совпадение значения ключа со значением аналогичного ключевого поля текущей записи информационного массива. Другим примером может быть поиск абитуриентов старше 18 лет. Теперь ключем поиска является поле “Возраст” со значением 18, а поиск ведётся при использовании отношения “больше” между значением аналогичного ключевого поля текущей записи и значением ключа. Это были примеры, так называемых, простых ключей. Возможны также и составные ключи. Например, может решаться задача поиска абитуриентов со средним баллом менее 4.8, но имеющих льготы (здесь ключем является совокупность полей “Средний балл” и “Наличие льгот”).
При сортировке ключи не нужны, используются только ключевые поля и их значения. Например, при использовании ключевого поля “Фамилия” возможна сортировка по алфавиту. При использовании ключевого поля “Средний балл” возможна сортировка абитуриентов в соответствии с убыванием либо с возрастанием их рейтинга. Если использовать составное ключевое поле в виде совокупности полей “Средний балл” и “Наличие льгот”, то среди абитуриентов, имеющих одинаковый средний балл, мы можем на первые места вывести тех, которые имеют льготы. Таким образом, при сортировке имеет значение результат сравнения значений ключевых полей соседних записей. Отметим также и то, что в последнем примере сортировки мы наблюдаем приоритет отдельных полей в составном ключевом поле (в первую очередь учитываются значения средних баллов, а затем уже, при их равенстве, наличие либо отсутствие льготы).
При подготовке данных материалов были просмотрены и использованы многие литературные источники, содержащие описание и анализ методов сортировки и поиска [1,3,8,10,12-14,16-19].
Наиболее популярны методы поиска и сортировки в отношении данных, расположенных в основной памяти и представленных в виде одномерных либо двумерных массивов записей. Преимуществом этого есть удобная нумерации записей посредством индексирования соответствующих элементов массивов, а также максимально быстрый доступ к ним.
При программировании используются уже известные схемы описания массивов, их типов и сопутствующих переменных.
В общем случае, базовый тип одномерного массива — структурированный. В частности, это может быть тип записи, пример которой рассмотрен выше. В простейших случаях приходится заниматься обработкой обычных числовых данных, поэтому базовый тип массива может быть либо целочисленным, либо вещественным. При этом элемент массива состоит как бы из единственного поля, которое одновременно считается ключевым.
Более сложный случай с точки зрения поиска либо сортировки представляет собой обработка двумерных массивов, в качестве элементов которых выступают одномерные массивы. Здесь в качестве простого ключевого поля может выступать любой элемент одномерного массива, а в качестве составного — произвольный их набор.
Учитывая значительную частоту решения задач поиска и сортировки в процессах обработки массивов данных, отметим, что к быстродействию соответствующих алгоритмов предъявляются весьма серьёзные требования.
В подпрограммах, реализующих поиск, используется стандартное описание типа Type P=Array[0..Rmax] Of <тип>, в котором для определённости принимается <тип>=<Integer>. Таким образом, поиск осуществляется в обыкновенном одномерном массиве X:P, содержащем N целых чисел, пронумерованных начиная с единицы. Для упрощения рассмотрен поиск на совпадение значения ключа со значением ключевого поля.
В таких условиях задача поиска состоит в том, что требуется отыскать элемент массива, значение которого совпадает с заданным значением ключа Z:Integer. В результате удачного поиска следует получить значение порядкового номера k найденного элемента массива. Необходимо также предусмотреть достаточно удобный признак и на случай неудачного поискаПосмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
2 марта 2015
Заказ завершен, заказчик получил финальный файл с работой
5
Алгоритмы поиска и сортировки данных.docx
2021-03-18 03:26
Последний отзыв студента о бирже Автор24
Общая оценка
4.2
Положительно
Автор просто умница. Всё выполнила правильно. Учтены все пожелания. Спасибо большое.)))