Форум → Сообщество → Профессиональная деятельность → Взаимопомощь → Помогите реализовать определенный алгоритм перемешивания.
Помогите реализовать определенный алгоритм перемешивания.
-
А именно, перемешивание "пролистыванием"… как в очень популярном способе тасования карт - http://36cc.ru/tas/285-prolistivaniem.html
Все бы ничего, но нужно это замутить НЕ выделяя дополнительную область памяти относительно массивов. Дано лишь только 1 входной массив, его и меняем.
Предположим, есть уже отсортированный(для простоты) массив из чисел:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Как в примере с картами, нужно поделить его на двое(2-я часть будет начинаться с 5-ти).
Ну а на выходе, по сути, должен выйти такой порядок:
0, 5, 1, 6, 2, 7, 3, 8, 4, 9.
Возможно ли решить эту задачу при помощи перестановки элементов?
Целый день думал над решением, так и не смог ничего придумать. -
24 сентября 2012 г. 18:43, спустя 5 минут 21 секунду
я всегда задумывался над твоим профессионализмом :)Спустя 4 сек.хуль тут целый день думать то?Сапожник без сапог -
24 сентября 2012 г. 18:59, спустя 15 минут 41 секунду
-
-
24 сентября 2012 г. 19:26, спустя 13 минут 10 секунд
дискретное преобразование фурье -> прореживание по частоте, смотри как индексы расчитываются в реализации быстрого преобразованияWork, buy, consume, die -
24 сентября 2012 г. 19:46, спустя 19 минут 56 секунд
дискретное преобразование фурье -> прореживание по частоте, смотри как индексы расчитываются в реализации быстрого преобразования
он не знает математикиYou can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
24 сентября 2012 г. 19:59, спустя 13 минут 4 секунды
я всегда задумывался над твоим профессионализмом :)Спустя 4 сек.хуль тут целый день думать то?
твой пост остался без ответа
"Жизнь слишком коротка, чтобы тратить время на троллей и прочих отбросов общества" © RottenYou can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
24 сентября 2012 г. 23:07, спустя 3 часа 7 минут 7 секунд
упс, я обосрался, тут получается только первая итерация прореживания, поэтому инвертирование битов индексов как в бпф работать не будетWork, buy, consume, die -
25 сентября 2012 г. 11:53, спустя 12 часов 46 минут 45 секунд
А теперь представь себе, что массив длиной полтора гига, памяти у тебя 2, и системе 300мб нужно
скинуть пол массива на винт)… -
25 сентября 2012 г. 14:33, спустя 2 часа 39 минут 51 секунду
ога, сваперы блеать, скорость доступа к памяти падает на столько, что алгоритмы со сложностью на порядок больше с задачей справляются быстрееWork, buy, consume, die -
25 сентября 2012 г. 22:33, спустя 7 часов 59 минут 23 секунды
ну это все очевидно. сомневаюсь что у роттена такие задачи. там 2+2 то уже в свап)
ога, сваперы блеать, скорость доступа к памяти падает на столько, что алгоритмы со сложностью на порядок больше с задачей справляются быстрееСапожник без сапог
Пожалуйста, авторизуйтесь, чтобы написать комментарий!