Программирование > Теория, алгоритмы и стандарты
Перемешивание массива
ThE0ReTiC:
Yukko
Мда...
Ты вообще Кнута открывал?
Там разве идет упор на какой-то определенный язык?
Потом любой алгоритм есть сугубо математическая задача, которая не зависит от языка реализации.
Точнее зависит только от одного - математики.
Все остальное есть практическое развертывание алгоритма с использованием того или иного языка.
Я потому Кнута и порекоммендовал, что там дается абстрактный (вураженный в математических выражениях) алгоритм перемешивания массива..
Так что я рад, конечно, за тебя, что тебе пришлось изучить векторную алгебру (которую вообще-то на первом курсе любого нормального вуза дают), однако писать подобные алгоритмы смысла не вижу, так как все уже придумано за нас.
[off]Кстати, существуют сборники стандартных алгоритмов для работы с векторами, афинными преобразованиями и пр., что используется при программировании графики. в Инете полно :)[/off]
Макс:
Курсовой пишу не себе а четверым студентам с IQ = - 200.
И им нужно этот алгоритм понять :)
Кнута я пока не читал, поэтому воспользуюсь советом КшЫуфксрук-а
КшЫуфксрук:
> Кнут. Том 2. стр 171. Алгоритм Р
Если это Algorithm P (Shuffling) (в электронной версии он на странице 139), то я именно его и описал. Просто запрограммировать его можно гораздо короче, чем рассказать словами, поэтому у Кнута он поместился всего на 4 строках.
ThE0ReTiC:
Макс
Алгоритм Р (Перемешивание)
Пусть X1,X2,...,Xt - множество t чисел для перемешивания
P1 [Инициализация] Присвоить j
ThE0ReTiC:
КшЫуфксрук
Ну в общем да.
See sources, как говорится :)
Навигация
Перейти к полной версии