Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2012, 22:44   #1
ovner
 
Регистрация: 06.10.2012
Сообщений: 8
По умолчанию Функция, алгоритмы...

Всем привет, помогите пожалуйста или подскажите что делать...

Написать функцию которая упорядочивает по возрастанию K наименьших элементов массива длинных целых чисел размера N. Считать что К намного меньше N и намного больше 1 (1 <K <N). Полное благоустройство массива не выполнять. Для этого заменить алгоритмы сортировки - обменом и слиянием.

Отдельно в функции вывести на экран количество сравнений и количество обменов элементов массива во время сортировки.
ovner вне форума Ответить с цитированием
Старый 10.11.2012, 23:55   #2
Murashov
Форумчанин
 
Аватар для Murashov
 
Регистрация: 30.10.2012
Сообщений: 121
По умолчанию

Цитата:
подскажите что делать
конечно, смотри.. тебе нужно написать функцию которая упорядочивает по возрастанию K наименьших элементов массива длинных целых чисел размера N. Считать что К намного меньше N и намного больше 1 (1 <K <N). Полное благоустройство массива не выполнять. Для этого заменить алгоритмы сортировки - обменом и слиянием.
Murashov вне форума Ответить с цитированием
Старый 10.11.2012, 23:55   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://www.programmersforum.ru/showthread.php?t=34061
_Bers вне форума Ответить с цитированием
Старый 11.11.2012, 12:52   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Не очень понятно, что значит "полное благоустройство не выполнять". Если остальной массив допускается оставить в произвольном состоянии, то, действительно, можно взять за основу сортировку слиянием: при слиянии каждый раз сливать только первые K элементов. Если не путаю, получится временная сложность O(N*lnK).
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комбинаторные алгоритмы и алгоритмы на гра-фах Ника-Вероника Паскаль, Turbo Pascal, PascalABC.NET 0 13.03.2012 19:07
Алгоритмы nukede Помощь студентам 2 27.09.2011 09:27
Задача из раздела Комбинаторные алгоритмы и алгоритмы на гра-фах в Паскале Klik_1602 Помощь студентам 1 04.01.2011 01:18
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50