2022-fall-computer-science

Практика

Разминка

  1. Создайте в своём репозитории 2022-polytech-%фамилия% пустой файл README.md в директории 04_search_sort/intro
  2. Сделайте коммит
  3. Настройте cmake-проект
  4. Напишите программу, которая ищет число 120 в последовательности
    -996, -960, -944, -887, -865, -860, -846, -831, -790, -785, -700, -691, -662, -662, -647, 
    -640, -587, -532, -524, -519, -501, -497, -475, -471, -461, -457, -452, -442, -441, -416, 
    -412, -411, -390, -389, -358, -341, -306, -257, -253, -252, -248, -208, -143, -134, -82, 
    -79, -11, 21, 26, 48, 68, 69, 72, 93, 95, 99, 115, 120, 156, 164, 181, 200, 231, 252, 288, 
    304, 336, 343, 364, 402, 419, 486, 546, 584, 595, 596, 606, 627, 636, 666, 666, 683, 701, 
    740, 766, 780, 782, 794, 802, 829, 832, 837, 858, 875, 881, 882, 883, 883, 947, 959
    
  5. Реализуйте решение линейным и бинарным поиском
  6. Сравните время работы программ, напишите результаты сравнения в README.md
  7. Отправьте решение на GitHub

Задание

Линейный поиск

  1. Создайте в своём репозитории 2022-polytech-%фамилия% директорию 04_search_sort/linear
  2. Настройте cmake-проект
  3. Напишите функцию линейного поиска int search(int arr[], int n, int x, int result[]), которая записывает индексы всех найденных значений в result и возвращает число найденных значений
  4. Приведите пример использования функции
  5. Отправьте решение на GitHub

Бинарный поиск

  1. Создайте в своём репозитории 2022-polytech-%фамилия% директорию 04_search_sort/binary
  2. Настройте cmake-проект
  3. Перепешите функцию бинарного поиска из лекции в итеративной форме (без использования рекурсии)
  4. Приведите пример использования функции
  5. Отправьте решение на GitHub

Домашнее задание

  1. Создайте в своём репозитории 2022-polytech-%фамилия% директорию 04_search_sort/array_insertion
  2. Настройте cmake-проект
  3. Напишите функцию insert, которая вставляет значение x в позицию p массива arr (пример, после вставки x=4 в позицию p=1 в массив {1,5,8} будет {1,4,5,8})
  4. Приведите пример использования функции
  5. Сделайте коммит
  6. Напишите функцию search_position, которая определяет место для вставки значения x в упорядоченный массив так, чтобы не нарушить порядок (например, для вставки 5 в {1,3,5,6} ответом будет 2, для вставки 7 в {1,3,5,6} будет 4)
  7. Приведите пример использования функции
  8. Сделайте коммит
  9. Напишите функцию insert_sorted, которая вставляет значение x в у массива arr в упорядоченный массив так, чтобы не нарушить порядок (используйте уже реализованные функции)
  10. Приведите пример использования функции
  11. Сделайте коммит
  12. Отправьте решение на GitHub

Комментарии