Получение объекта по номеру — различия между версиями
| Antonkov (обсуждение | вклад)  (→Перестановки) | Antonkov (обсуждение | вклад)  | ||
| Строка 1: | Строка 1: | ||
| == Перестановки == | == Перестановки == | ||
| Рассмотрим алгоритм получения i-ой в лексикографическом порядке перестановки. | Рассмотрим алгоритм получения i-ой в лексикографическом порядке перестановки. | ||
| − |   '''f[n]=n!''' | + |   '''<tex>f[n]=n!</tex>''' | 
|   '''for''' <tex> i \leftarrow 1 </tex> '''to''' <tex> n </tex> '''do    ''// n-это количество цифр в перестановке''''' |   '''for''' <tex> i \leftarrow 1 </tex> '''to''' <tex> n </tex> '''do    ''// n-это количество цифр в перестановке''''' | ||
| − | + |    '''AlreadyWas \leftarrow (NumOfPermutation-1) div f[n-i]             ''// сколько цифр уже полностью заняты предыдущими перестановками, тогда очевидно сейчас бы должны поставить ту цифру которая еще полностью не занята, т.е. AlreadyWas+1 - ую''''' | |
| + | |||
| + | |||
| == Сочетания == | == Сочетания == | ||
| == Размещения == | == Размещения == | ||
| == Битовые вектора == | == Битовые вектора == | ||
| == Скобочные последовательности == | == Скобочные последовательности == | ||
Версия 01:04, 26 октября 2011
Перестановки
Рассмотрим алгоритм получения i-ой в лексикографическом порядке перестановки.
for to do // n-это количество цифр в перестановке AlreadyWas \leftarrow (NumOfPermutation-1) div f[n-i] // сколько цифр уже полностью заняты предыдущими перестановками, тогда очевидно сейчас бы должны поставить ту цифру которая еще полностью не занята, т.е. AlreadyWas+1 - ую
