Skip to content

Instantly share code, notes, and snippets.

@drewxa
Created January 30, 2018 20:32
Show Gist options
  • Save drewxa/2687a4e062aa42dfa8ff43b7909c66d2 to your computer and use it in GitHub Desktop.
Save drewxa/2687a4e062aa42dfa8ff43b7909c66d2 to your computer and use it in GitHub Desktop.
  1. Реализуйте слияние двух отсортированных массивов в один отсортированный. Алгоритм должен работать со сложностью по времени O(N + M), где N и M длины массивов.
template <class It, class Out>
Out merge(It first1, It last1, It first2, It last2, Out out);
  1. Реализуйте алгоритм сортировки слиянием. Описание алгоритма можно найти в книге Дональда Кнута - Искусство программирования. Том 3. Сортировка и поиск. Глава 5.2.4. Стр 174.
template <class It, class Out>
Out merge_sort(It first, It last, Out out);
  1. Реализуйте алгоритм сортировки слиянием без использования дополнительной памяти
template <class It>
void inplace_merge_sort(It first, It last);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment