Вы должны рассмотреть Битоническая сортировка :
Этот алгоритм чем-то похож на сортировку слиянием, но он имеет интересный поворот: вместо сортировки обеих половинмассив от нижнего к верхнему, затем слияние, вы сортируете половину массива в противоположном направлении , чтобы получить массив bitonic : включающий две монотонные части в противоположных направлениях.
Битонные массивы можно объединять в отсортированные массивы очень хорошо распараллеливающим способом: хотя его общая временная сложность составляет O (n log (n)), все его сравнения и свопы независимы, т.е. выбор элементов длясравнение не зависит от предыдущих результатов сравнения, в отличие от обычного слияния.Следовательно, он допускает полное распараллеливание.
Это Youtube-видео демонстрирует битоническую сортировку.
PS - Я предполагаю, что домашняя работа автора уже должна ... 3 годаназад.