Лабораторная 2. Поиск
- Проверить работоспособность универсальных алгоритмов линейного и бинарного поиска, разработанных на лекциях.
- Для алгоритма линейного поиска разработать и проверить тест-функции, со следующим предназначением:
- поиска двузначных чисел среди набора целочисленных значений
- поиска дробных чисел среди набора вещественных значений
- поиска человека по введенному году рождения среди набора структур, включающих в себя информацию о человеке (фамилия, имя, год рождения)
- Разработать алгоритм бинарного поиска для получения всех найденных значений. Функция должна возвращать результат
в виде двух параметров-переменных: первого и последнего индексов искомого значения.
- Модифицировать алгоритм бинарного поиска одного значения для использования тест-функции. В отличие от тест-функции линейного поиска,
тест-функция бинарного поиска должна возвращать один из трех результатов:
1)переданное значение соответствует критерию поиска, 2)переданное значение больше величины критерия, 3)переданное значение меньше
величины критерия. Для этого рекомендуется возвращать из функции значения 0, 1 и -1 соответственно.
-
Для модифицированного алгоритма бинарного поиска разработать и проверить тест-функции, со следующим предназначением:
- поиска двузначных чисел среди возрастающего набора целочисленных значений
- поиска чисел, синус которых равен 0.5 (с точностью до 1 знака после запятой) среди набора вещественных значений, отсортированных по возрастанию их синусов.
- поиска людей по введенной фамилии среди набора структур, включающих в себя информацию о человеке (фамилия, имя, год рождения)
и отсортированных по лексикографическому убыванию фамилий.