Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture3_PAS.doc
Скачиваний:
19
Добавлен:
08.12.2018
Размер:
55.3 Кб
Скачать

1.2. Линейный поиск в массивах данных.

Линейный поиск — это поиск в массиве данных элемента, группы элементов или фрагмента массива, которые отвечают заданным требованиям. Для этого, как правило, нет необходимости сортировать массив или выделять дополнительные рабочие массивы того же порядка, что и заданный.

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

1.3. Способы сортировки в массивах данных.

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

Для реализации алгоритма любого способа сортировки требуется прохождение не менее двух вложенных циклов.

Признаки порядка

Одномерный массив А(n) называется упорядоченным

по возрастанию, если для любого i = 2, 3, …, n ai > ai-1

по неубыванию, если для любого i = 2, 3, …, n ai ai-1

по убыванию, если для любого i = 2, 3, …, n ai < ai-1

по невозрастанию, если для любого i = 2, 3, …, n ai ai-1

1. Пузырьковая сортировка (попарные перестановки) заключается в многократной перестановке каждых двух соседних элементов, нарушающих порядок; процесс завершается по достижению упорядоченности массива; алгоритм реализуется использованием двух циклов с параметром (внешнего и вложенного) или, используя в качестве внешнего цикла цикл с постусловием с вложенным в него циклом с параметром.

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

ai = min(max){aj , j=i, i+1, …, n}, i=1, …, n-1

где n – размерность массива

3. Сортировка простыми вставками заключается в том, что для i = 2, 3, …, n каждый элемент ai переставляется в нужное место среди упорядоченных ранее элементов a1, a2, …, ai-1, раздвигая их за счет удаления ai.

1.4. Некоторые рекомендации при работе со статическим массивом.

  • При объявлении статического массива размерность задается константой (константами — в случае многомерного массива), поэтому следует объявлять наиболее разумные размерности, а затем вводить переменные размерности и циклы организовывать уже с их использованием.

  • При обработке массивов рекомендуется использовать вывод на экран всего введенного массива в наглядной форме для визуального контроля правильности ввода и демонстрации соответствия результатов введенным данным.

  • Следует максимально ограничивать выделение дополнительных (рабочих) массивов той же размерности, что и обрабатываемые, а также искать эффективные по трудоемкости алгоритмы.

  • В задачах на анализ или поиск в заданном массиве не следует искажать массив в своих целях.

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

  • В задачах на сортировку массивов следует наглядно показать, как изменился порядок следования элементов отсортированного массива по сравнению с исходным массивом, для чего допускается использование дополнительного массива индексов.

Понятие массива используется на уровне постановки задачи: за­дается или должно быть сформировано множество однотипных данных. При описании интерфейса как способа взаимодействия с будущей подпрограммой необходимо знать только перечень входных и выходных данных, их тип и способ размещения – входную и выходную формы.

Соседние файлы в предмете Программирование на Pascal