Получение объекта по номеру

Материал из Викиконспекты
Перейти к: навигация, поиск

Перестановки

Рассмотрим алгоритм получения i-ой в лексикографическом порядке перестановки.

[math]f[n]=n![/math]
for [math] i \leftarrow 1 [/math] to [math] n [/math] do    // n-это количество цифр в перестановке
  'AlreadyWas [math] i \leftarrow [/math] (NumOfPermutation-1) div f[n-i]             // сколько цифр уже полностью заняты предыдущими перестановками

//тогда очевидно сейчас мы должны поставить ту цифру которая еще полностью не занята, т.е. AlreadyWas+1 - ую


Сочетания

Размещения

Битовые вектора

Скобочные последовательности