Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Поиск максимумов и минимумов





Усложним задачу. Пусть нам требуется найти минимальный элемент в неупорядоченном массиве. Оказывается, что и эта задача имеет линейную сложность, и для поиска минимального (максимального) элемента в неупорядоченном массиве требуется n – 1 сравнение. Запишем алгоритм поиска максимального элемента в текстовой форме.

Алгоритм поиска максимального элемента в неупорядоченном массиве:

1. Установить счетчик равным 1 (i = 1).

2. Положим значение текущего максимума равным первому исследуемому элементу (max = a1).

3. Если исследованы еще не все элементы (i < n), то перейти к шагу 5, иначе алгоритм окончен (максимальный элемент равен max).

4. Перейти к следующему элементу (увеличить i на единицу).

5. Если рассматриваемый элемент больше, чем текущий максимум (ai > max), то значение ai присвоить max.

6. Перейти к шагу 4.

Приведем блок-схему аналогичного алгоритма поиска минимального элемента:

Скачать текст программы

Можно еще усложнить задачу и найти одновременно максимальный и минимальный элементы. Скорректируем вышеприведенный алгоритм.

Алгоритм одновременного поиска максимального и минимального элементов в неупорядоченном массиве:

1. Установить счетчик равным 1 (i = 1).

2. Положим значения текущего минимума и текущего максимума равными первому исследуемому элементу (min = a1, max = a1).

3. Если исследованы еще не все элементы i < n), то перейти к шагу 4, иначе алгоритм окончен (минимальный и максимальный элементы равны min и max соответственно).

4. Перейти к следующему элементу (увеличить i на единицу).

5. Если текущий элемент меньше чем минимум (ai < min), то присвоить min значение ai, иначе если текущий элемент больше, чем максимум (ai > max), то присвоить max значение ai

6. Перейти к шагу 3.

Запишем этот алгоритм в виде блок-схемы: Скачать текст программы

Сложность этого алгоритма равна 2 · (n – 1). Возникает вопрос, существует ли алгоритм одновременного поиска минимального и максимального элемента, сложность которого меньше, чем 2 · (n – 1)? Оказывается, такой алгоритм существует, и его сложность равна 3 · (n/2).

Эффективный алгоритм поиска максимального элемента в неупорядоченном массиве:

 

1. Разбить массив на пары (получим n/2 пар, при нечетном n плюс еще одна неполная пара).

2. Упорядочить по возрастанию каждую пару (при выполнении этого шага будет выполнено (n/2) сравнений). Тогда в массиве на всех нечетных местах будут стоять минимальные для каждой пары числа, а на всех четных местах – максимальные.

3. Найти минимальное число, осуществляя поиск только среди элементов, стоящих на нечетных местах. При этом если у нас есть неполная пара, то в качестве начального значения переменной min взять значение элемента неполной пары (при выполнении этого шага будет выполнено (n/2) сравнений).

4. Найти максимальное число, осуществляя поиск только среди элементов, стоящих на четных местах. При этом если у нас есть неполная пара, то в качестве начального значения переменной max взять значение элемента неполной пары (при выполнении этого шага будет выполнено (n/2) сравнений).

Всего сравнений в этом алгоритме 3 · (n/2).

Скачать текст программы







Дата добавления: 2015-09-04; просмотров: 1295. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

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

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

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия